PHP中的in_array()或array_search()无法正常工作

6

我正在使用一个简单的PHP脚本在数组中查找元素,例如

    $restricted = array('root/base', 'root2' ); 
    print_r($restricted);
    if( array_search('root/base', $restricted) ){
        echo "1";
    } else {
        echo "0";
    }

但我总是得到以下输出。
Array ( [0] => root/base [1] => root2 ) 0

这意味着array_search在给定的数组中无法找到元素。有人能解释一下发生了什么吗?

我尝试将array_search()替换为in_array()。但这也返回了相同的错误。


in_array 对我有效 - Tamil Selvan C
2
这不是一个重复的问题 - 这个人的问题是将值0误认为是FALSE。在引用的“重复问题”中,OP的问题是将数组误认为是逗号分隔的字符串。 - Jan
1个回答

23

来自 PHP DOC

array_search — 在数组中搜索给定的值,并在成功时返回相应的键

索引是 0,这就是为什么你认为它失败了

使用

array_search('root/base', $restricted) !== false

但为什么in_array()会失败呢? - rahul Ram
3
我在你的例子中没有看到in_array,但在http://eval.in/31491中看到了。 - Baba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接