in_array
配列に値があるかチェックする
&reftitle.description;
boolin_array
mixedneedle
arrayhaystack
boolstrict&false;
haystack 内の needle を検索します。
strict が設定されていない限りは型の比較は行いません。
&reftitle.parameters;
needle
探す値。
needle が文字列の場合、
比較の際に大文字小文字は区別されます。
haystack
配列。
strict
三番目のパラメータ strict が
&true; に設定された場合、
in_array は、haystack
の中の needle の
型も確認します。
PHP 8.0.0 より前のバージョンでは、
strict フラグが指定されていない場合に、
配列の値が 0
の場合でも文字列にマッチしてしまっていました。逆も同じです。
これにより、望ましくない結果が生じる可能性があります。
似たようなエッジケースは他の型でも存在します。
値の型が完全にわからない場合には、
予期せぬ振る舞いを避けるために常に
strict フラグを使うようにして下さい。
&reftitle.returnvalues;
配列で needle が見つかった場合に
&true;、それ以外の場合は、&false; を返します。
&reftitle.examples;
in_array の例
]]>
二番目の条件式は失敗します。in_array
は大文字小文字を区別するからです。したがって次のような出力になります。
strict を指定した in_array の例
]]>
&example.outputs;
needleが配列の場合の in_array
]]>
&example.outputs;
&reftitle.seealso;
array_search
isset
array_key_exists