php array_search第一个元素返回 0?

2022-08-30 22:49:22

我有此代码

$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失败的第一个元素...关于如何检查值是否在数组中而不会在第一个元素上失败的任何想法


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

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


答案 2

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

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

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

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