php array_search为第一个元素返回0?

Mat*_*iby 12 php arrays

我有这个代码

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

if (array_search($current_page, $restaurant)) {
    echo "KEEP ME";
}
Run Code Online (Sandbox Code Playgroud)

问题是array_search返回0因为'/ restaurant_pos /'是​​数组中第一个导致if失败的元素...有关如何检查值是否在数组中而没有在第一个元素上失败的任何想法

小智 29

if (array_search($current_page, $restaurant) !== FALSE ) {
    echo "KEEP ME";
}
Run Code Online (Sandbox Code Playgroud)

手动链接:http://php.net/manual/en/function.array-search.php

  • +1:这在手册中有记录(我会在你的答案中添加链接) - 事实上,他们会仔细解释它 - 所以OP在询问之前显然没有研究过. (2认同)

mwa*_*afi 6

我认为in_array()在这种情况下使用会更好

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

if (in_array($current_page, $restaurant)) {
    echo "KEEP ME";
}
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/function.in-array.php