array_searchの罠

配列内の要素を検索する関数array_search()を使っていて、配列の0番目の要素だけ返り値がおかしいなぁーと・・・

if(!array_search($word,$srch_ary)){
echo "hogehoge";
}

0番目の要素のときだけ、明らかに条件がTRUEでも「hogehoge」が表示されてしまっていた。そんで検索したら、こんな記事があった。

http://objprg.blog122.fc2.com/blog-entry-61.html

返り値がゼロだからFALSEと判定されてしまうとのこと。私の場合、配列を宣言するときに

$srch_ary = array("0");

としてしまい、0番目は使わないようにした。