Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果在_阵列中未按预期工作?_Php - Fatal编程技术网

Php 如果在_阵列中未按预期工作?

Php 如果在_阵列中未按预期工作?,php,Php,“权限”是以逗号分隔的整数列表,例如:1,10,701000 权限字符串被推入$\u会话,然后在分解后作为$type返回 $permissions = $_SESSION['user']['permissions']; $type = explode(",", trim($permissions)); if(in_array(1337, $type)){ echo '<li><a href="protectedpage.php">Page Name</a>&

“权限”是以逗号分隔的整数列表,例如:1,10,701000 权限字符串被推入$\u会话,然后在分解后作为$type返回

$permissions = $_SESSION['user']['permissions'];
$type = explode(",", trim($permissions));

if(in_array(1337, $type)){
echo '<li><a href="protectedpage.php">Page Name</a></li>';}
$permissions=$\u会话['user']['permissions'];
$type=explode(“,”,trim($permissions));
if(在_数组中(1337$type)){
回音“
  • ”;}
    出于某种原因,没有任何回应。 我回显了$\u会话['user']['permissions'],获得了1337条

    我已经完成了打印($type)并得到了数组([0]=>1337)


    那么为什么数组中没有返回true呢?

    尝试将
    1337
    放在引号中,
    '1337'
    。我相信这会解决您的问题。

    我执行了以下代码,它运行良好

    $permissions = '1,10,70,1000,1337';
    $type = explode(",", trim($permissions));
    
    if(in_array(1337, $type))
    {
        echo 'found';
    }
    
    我建议您检查以确保$permissions是您在失败的情况下所期望的。如果条件不起作用,尝试回显它,以便您可以检查。您可能还想删除任何空格,以防它弄脏东西

    $permissions = $_SESSION['user']['permissions'];
    $type = explode(",", str_replace(' ', '', $permissions));
    
    if(in_array(1337, $type))
    {
        echo 'found';
    }
    else
    {
        echo $permissions;
    }
    

    使用var_dump($type[0])查看存储的值是否为整数,我对此表示怀疑。如果(在_数组(“1337”,$type)中无法复制,请尝试。它对我来说很好。当您将$permissions显式设置为1337时,它会说什么?var_dump还将显示是否存在类似空格的内容(我怀疑是这样的)在类似
    1,2,3,4
    的字符串中,如果将字符串长度与转储中实际看到的长度进行比较,-1这应该只在严格模式下起作用(即第三个参数是
    true
    )。