-1
 if(array_search('test',array('0'=>'test'))){
    echo 'test';
}

没有回响什么。但:

if(array_search('test',array('0'=>'random', '1'=>'test'))){
    echo 'test';
}

回声测试?

4

2 回答 2

2

array_search()正在返回0,其中(在非严格比较中)是false

var_dump(array_search('test',array('0'=>'test'))); // int(0)
var_dump(array_search('test',array('0'=>'random', '1'=>'test'))); // int(1)

改用!== false(如文档建议的那样)

if(array_search('test',array('0'=>'test')) !== false){
    echo '1 ';
}
if(array_search('test',array('0'=>'random', '1'=>'test')) !== false){
    echo '2 ';
}
于 2013-03-22T14:51:14.990 回答
0

您可以使用 (in_array) 函数来检查 var 是否在数组中

像这样:

if(in_array('test',array('0'=>'random', '1'=>'test'))){
echo 'exist';
}
于 2013-03-22T14:59:06.587 回答