聚会迟到了,但想添加一些上下文/示例:
array_search将返回键(如果找到值) - 可能是0
-FALSE
如果未找到值将返回。它永远不会回来TRUE
。
这段代码可能会更好地总结:
// test array...
$array = [
0 => 'First Item',
1 => 'Second Item',
'x' => 'Associative Item'
];
// example results:
$key = array_search( 'First Item', $array ); // returns 0
$key = array_search( 'Second Item', $array ); // returns 1
$key = array_search( 'Associative Item', $array ); // returns 'x'
$key = array_search( 'Third Item', $array ); // returns FALSE
由于0
是一个错误的值,你不会想要做类似的事情if ( ! array_search(...) ) {
... 因为它会在0
索引项上失败。
因此,使用它的方式是这样的:
$key = array_search( 'Third Item', $array ); // returns FALSE
if ( FALSE !== $key ) {
// item was found, key is in $index, do something here...
}
值得一提的是strpos和stripos等函数也是如此,因此这是养成遵循习惯的好模式。