php数组_搜索第一个元素返回0?

php数组_搜索第一个元素返回0?,php,arrays,Php,Arrays,我有这个密码 $restaurant = array('/restaurant_pos/', '/bar_nightclub_pos/') $current_page = $_SERVER['REQUEST_URI']; if (array_search($current_page, $restaurant)) { echo "KEEP ME"; } 问题是数组_搜索返回0,因为“/restaurant_pos/”是数组中导致if失败的第一个元素……关于如何检查数组中的值而不使第一个

我有这个密码

$restaurant = array('/restaurant_pos/', '/bar_nightclub_pos/')
$current_page = $_SERVER['REQUEST_URI'];

if (array_search($current_page, $restaurant)) {
    echo "KEEP ME";
}
问题是数组_搜索返回0,因为“/restaurant_pos/”是数组中导致if失败的第一个元素……关于如何检查数组中的值而不使第一个元素失败,有什么想法吗

if (array_search($current_page, $restaurant) !== FALSE ) {
    echo "KEEP ME";
}

手动链接:

根据我自己的经验,如果您有,例如:

Array
(
    [1] => Array
        (
            [0] => a
            [1] => b
        )

    [2] => Array
        (
            [0] => b
        )
    [4] => Array
        (   
           [0] => c
        )
)
array\u搜索中(“a”,$array[3])!==FALSE)
它返回的
TRUE
相同,因此为了涵盖所有情况,在
null
元素上,最好使用:

if ( (array_search($element, $array) !== FALSE) && ($array) ) {
    echo "found";
}

希望有帮助。

我认为在这种情况下,在数组()中使用
会更好。

$restaurant = array('/restaurant_pos/', '/bar_nightclub_pos/')
$current_page = $_SERVER['REQUEST_URI'];

if (in_array($current_page, $restaurant)) {
    echo "KEEP ME";
}

我用的是数字函数来实现同样的功能

if(is_numeric(array_search($entry, $array))){
            //if true, this block will be executed
 }

+1:这在手册中有记录(我会在你的答案中添加链接)-事实上,他们会仔细解释-所以OP显然在问之前没有研究过。哈哈,我自己都没见过。谢谢你!谢谢,我确实看了文档,注意到了红色的大盒子,但我试过了!==错误,失败了,所以我发布了这个问题…谢谢@Jan WesterdiepHey。。别担心。我们都犯了那些小错误(然后花了20分钟才有那种“抓住你”的感觉!)仍然无法得到答案!==FALSE用于数组搜索。这个对我有用。谢谢