var_dump(in_array(0, array('s' ));
この文の結果は bool(true) です。
in_array は 0 と 's' を比較するため、0 は数値型、's' は文字列型です。PHP チュートリアル マニュアルの「比較演算子」の章の指示に従って、数値と文字列が比較されます。
比較する場合、まず文字列型を数値に変換してから比較演算を実行します。 's' を数値に変換した結果は 0 で、0 == 0 の結果は true なので、in_array(0, array('s', 'ss')) の結果も true になりますin_array の第 3 パラメータ strict を true に設定すると、比較時に値と型が等しいかどうかを判定します。それらがすべて等しい場合は true を返し、そうでない場合は false を返します。
PHPのin_array構文について
bool in_array (mixed $needle , array $haystack [, bool $strict ] ) 戻り値はストレートまたは false
リーリー