-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 に答える