ホームページ >バックエンド開発 >PHPチュートリアル >isset() と array_key_exists(): PHP 配列処理の違いは何ですか?

isset() と array_key_exists(): PHP 配列処理の違いは何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-06 08:33:10500ブラウズ

isset() vs. array_key_exists(): What's the Difference in PHP Array Handling?

isset() と array_key_exists() の違い

PHP で配列を扱う場合、2 つの主要な関数 isset() と array_key_exists() の違いを理解しておくことが重要です。 array_key_exists().

isset() とarray_key_exists()

isset() は、キーまたは変数が配列または変数スコープに存在するかどうかをチェックします。

array_key_exists() は、特にキーは配列内に存在します。

キー比較

既存のキー/変数

存在し、null 以外の値を持つキーの場合、両方の関数は true を返します:

$a = ['key' => 'value'];

isset($a['key']); // true
array_key_exists('key', $a); // true

存在しないキー/変数

存在しないキーの場合は、array_key_exists() のみが返されます。 false:

$a = [];

isset($a['key']); // false
array_key_exists('key', $a); // false

Null Value Key

ここに決定的な違いがあります: isset() は null 値のキーに対して false を返しますが、array_key_exists() は true を返します:

$a = ['key' => null];

isset($a['key']); // false
array_key_exists('key', $a); // true

非配列変数

とは異なりますarray_key_exists()、isset() は、変数の型に関係なく、変数が存在するかどうかを確認できます。

$name = 'John Doe';

isset($name); // true
array_key_exists($name, []); // Fatal error

結論

isset() と array_key_exists() には両方とも用途がありますが、重要です。それらの違いを理解するために。 isset() は、null 値を含むキーまたは変数の存在をチェックします。 array_key_exists() は、配列内のキーの存在を厳密にチェックし、null 値を無視します。

以上がisset() と array_key_exists(): PHP 配列処理の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。