我有这段代码
$restaurant = array('/restaurant_pos/', '/bar_nightclub_pos/')
$current_page = $_SERVER['REQUEST_URI'];
if (array_search($current_page, $restaurant)) {
echo "KEEP ME";
}
问题是array_search返回0因为'/ restaurant_pos /'是数组中第一个导致if失败的元素...有关如何检查值是否在数组中而没有失败的任何想法第一个元素
答案 0 :(得分:29)
if (array_search($current_page, $restaurant) !== FALSE ) {
echo "KEEP ME";
}
答案 1 :(得分:4)
我认为在这种情况下使用in_array()
$restaurant = array('/restaurant_pos/', '/bar_nightclub_pos/')
$current_page = $_SERVER['REQUEST_URI'];
if (in_array($current_page, $restaurant)) {
echo "KEEP ME";
}
答案 2 :(得分:2)
我已经使用is_numeric函数来实现相同功能。
if(is_numeric(array_search($entry, $array))){
//if true, this block will be executed
}
答案 3 :(得分:0)
根据我自己的经验,如果你有,例如:
Array
(
[1] => Array
(
[0] => a
[1] => b
)
[2] => Array
(
[0] => b
)
[4] => Array
(
[0] => c
)
)
在array_search("a", $array[3]) !== FALSE)
上它会返回TRUE
相同的内容,所以为了涵盖所有情况,同样在null
元素上,最好使用:
if ( (array_search($element, $array) !== FALSE) && ($array) ) {
echo "found";
}
希望它有所帮助。