array_key_exists()もisset()もどちらも値があるかをブール値で返す関数です。
NULL値を持つ配列キーを評価した場合、以下の通りとなります。
- isset():FALSE
- array_key_exists():TRUE
1 2 3 4 5 6 7 8 9 |
<?php $search_array = array('first' => null, 'second' => 4); // false を返します isset($search_array['first']); // true を返します array_key_exists('first', $search_array); ?> |
PHPの変数は、宣言なしに使えることを考えれば、isset()が「NULL値」と「値の領域の有無」を区別しないのも理解できます。