次の 2 つの関数呼び出しを比較するとどうなりますか。
isset($a['key'])
array_key_exists('key', $a)
ベストアンサー1
array_key_exists
配列にキーが存在するかどうかは確実にわかりますが、isset
true
キー/変数が存在し、 でないnull
場合にのみ返されます。
$a = array('key1' => 'フーバー', 'key2' => null);
isset($a['key1']); // true
array_key_exists('key1', $a); // true
isset($a['key2']); // false
array_key_exists('key2', $a); // true
もう一つの重要な違いがあります:isset
$a
存在しないときに文句を言わない一方でarray_key_exists
そうします。