即使对于PHP,这似乎也很奇怪。我正在搜索以@
开头的字符串,该字符串始终返回false:
php > var_dump($re)
php > ;
array(2) {
[0]=>
string(12) "@MaxyMixalot"
[1]=>
string(5) "GEzim"
}
php > print(array_search('GEzim', $re));
1
php > print(array_search('@MaxyMixalot', $re));
0
答案 0 :(得分:2)
因此,我没有注意到PHP.net上的警告:
此函数可能返回布尔FALSE,但也可能返回 非布尔值,其值为FALSE。请阅读以下内容 有关更多信息的布尔值。使用
===
运算符来测试 该函数的返回值。
@nickb是正确的:
需要将其与false
进行显式比较,因为如果找到它,它会返回找到的元素的关键字或索引,并且可以是0
,在执行快捷方式{时,其值为false
{1}}。
if ($something)...
换句话说,找到了!