isset() と array_key_exists() の違いは何ですか? [重複] 質問する

isset() と array_key_exists() の違いは何ですか? [重複] 質問する

次の 2 つの関数呼び出しを比較するとどうなりますか。

isset($a['key'])

array_key_exists('key', $a)

ベストアンサー1

array_key_exists配列にキーが存在するかどうかは確実にわかりますが、issettrueキー/変数が存在し、 でない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そうします。

おすすめ記事