-1
if(array_search('test',array('0'=>'test'))){
echo 'test';
}
没有回应任何内容。但是:这是一个数组搜索的bug吗?
if(array_search('test',array('0'=>'random', '1'=>'test'))){
echo 'test';
}
回声测试?
if(array_search('test',array('0'=>'test'))){
echo 'test';
}
没有回应任何内容。但是:这是一个数组搜索的bug吗?
if(array_search('test',array('0'=>'random', '1'=>'test'))){
echo 'test';
}
回声测试?
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
(as the docs suggest)代替:
if(array_search('test',array('0'=>'test')) !== false){
echo '1 ';
}
if(array_search('test',array('0'=>'random', '1'=>'test')) !== false){
echo '2 ';
}
可以使用(in_array)函数来检查,如果VAR是否排列
是这样的:
if(in_array('test',array('0'=>'random', '1'=>'test'))){
echo 'exist';
}
array_search在第一种情况下返回0,这是不正确的。 – NikiC 2013-03-22 14:48:50
我想你需要阅读[array_search'的文档](http://php.net/manual/en/function.array-search.php),特别是关于它返回的部分... – 2013-03-22 14:49:13
只是删除索引并将数组放入'array('test');' – 2013-03-22 14:50:15