タグ

2012年5月19日のブックマーク (1件)

  • ウノウラボ Unoh Labs: 配列要素の存在チェック

    こんにちは。今月入社したyamaokaです。よろしくお願いいたします。 さて、PHPで配列要素の存在チェックを行う場合、どうされていますか? 2通りの書き方があると思いますが、実は動作が異なる場合があるのです。 if (isset($array['foo'])) { // (1) // 存在する } if (array_key_exists('foo', $array)) { // (2) // 存在する } (1)の場合、要素の値がnullだと存在しないものとして扱われてしまいます。(2)では、該当するキーが存在しさえすれば存在するものとして扱われます。 配列の要素がnullになる可能性がある場合、array_key_exists関数を用いてチェックを行う必要があります。isset関数が使用できるのは、要素の値がnullにならないとわかっている場合だけです。 実行速度はどうでしょうか。P