[PHP]:如果找不到任何内容,array_search()会返回什么?

Der*_*air 15 php arrays search

如果找不到任何内容,array_search()会返回什么?

我需要以下逻辑:

$found = array_search($needle, $haystack);

if($found){
  //do stuff
} else {
  //do different stuff
}
Run Code Online (Sandbox Code Playgroud)

Pas*_*TIN 46

引用手册页array_search():

如果在数组中找到针,则返回针的键,FALSE否则返回.


这意味着您必须使用以下内容:

$found = array_search($needle, $haystack);

if ($found !== false) {
    // do stuff
    // when found
} else {
    // do different stuff
    // when not found
}
Run Code Online (Sandbox Code Playgroud)

注意我使用了!==运算符,它进行了类型敏感的比较; 有关详细信息,请参阅比较运算符,键入Juggling转换为布尔值 ;-)

  • `注意我使用了!==运算符,它进行了类型敏感的比较 - 这正是问题所在.0正在评估错误...谢谢 (5认同)
  • @AmalMurali - `array_search()`只有在提供了无效参数时才返回`NULL`,例如一个不是数组的变量.如果提供有效参数,如果在数组中找不到该值,则返回"false". (2认同)

use*_*291 5

如果你只是检查值是否存在,in_array是要走的路。