2011-07-02 8 views
3

http://php.net/manual/en/function.in-array.php - それは==によってのみチェックされるため、問題があります。 ===でこれを行うことができる賢いオンライナーはありますか?配列にループなしで=== nullの値があるかどうかをチェックする方法は?

配列が空の場合、要素が0の場合、または配列に正確にnullの値が含まれていない場合はfalseを返します。配列に少なくとも1つの=== null要素がある場合はtrueです。

+0

* 3番目のパラメータstrictが** TRUE **に設定されている場合、** in_array()**関数は乾草の針のタイプもチェックします* –

+0

コードを表示します。どのように 'in_array()'関数を呼びますか? – hakre

答えて

14
in_array(null, $haystack, true); 

あなたがthe doc you referencedを読めば、あなたはその機能は、オプションの三番目のパラメータを取ることがわかります:

三番目のパラメータは厳しいがTRUEに を設定した場合、in_array()関数 ますまた、干し草の針の 針の種類を確認してください。ここ

それがドキュメントに表示され、具体的として、関数シグネチャである:

bool in_array (mixed $needle , array $haystack [, bool $strict = FALSE ]) 

Searches haystack for needle using loose comparison unless strict is set. 
+1

はい、もし私が読んでいれば... http://en.wikipedia.org/wiki/ADHD_predominantly_inattentive – rsk82

+1

@ user393087:何が答えを読んでいるのでしょうか?それは知っているのは興味深いでしょう(ドキュメンテーション設計のために、誰が知っているか)。 –

+1

私は文書を読んでいますが、私はこの部分を見ていませんでした。 '[、bool $ strict = FALSE]'目に盲点があるように私の脳には入っていませんでした。 – rsk82

7

in_array機能が実行されます第三のPARAM(厳密)を受け付ける===比較

in_array(null, $array, true); 
関連する問題