PHPプログラミングでは、指定されたキーが配列に存在するかどうかを判断するのは非常に一般的な操作です。 PHPは、この関数を実装するさまざまな方法を提供します。最もクラシックで広く使用されているのは、 array_key_exists関数です。この記事では、 array_key_existsを使用して、配列に指定されたキーがあるかどうかを判断し、例と組み合わせて説明する方法を詳細に紹介します。
array_key_existsは、指定されたキーが配列に存在するかどうかを検出するためのPHPに組み込み関数です。その構文は次のとおりです。
array_key_exists(string|int $key, array $array): bool
$ key :検出されるキー名。文字列または整数です。
$配列:検出された配列。
返品値:指定されたキーが配列に存在する場合はtrueを返します。
誰かの基本情報を表す配列があるとします。
<?php
$userInfo = [
"name" => "シャオミン",
"age" => 25,
"email" => "[email protected]"
];
// キー名を決定します "age" それは存在するしますか
if (array_key_exists("age", $userInfo)) {
echo "鍵 'age' 存在する,値はです:" . $userInfo["age"];
} else {
echo "鍵 'age' 存在しませんする";
}
上記のコードでは、 array_key_exists( "age"、$ userinfo)がtrueを返すため、出力は次のとおりです。
鍵 'age' 存在する,値はです:25
また、多くの開発者はISSETを使用してキーが存在するかどうかを判断しますが、これら2つの機能の間にいくつかのニュアンスがあります。
ISSET($ array [$ key])は、キーが存在する場合にのみtrueを返し、値がnullでない場合にのみ返します。
array_key_exists($ key、$ array)キーが存在する限り(値がnullかどうかに関係なく)、 trueを返します。
例えば:
<?php
$data = [
"foo" => null
];
var_dump(isset($data["foo"])); // 出力: bool(false)
var_dump(array_key_exists("foo", $data)); // 出力: bool(true)
これは、 array_key_existsがキーの存在を判断するのに適していることを示していますが、 ISSETはキーが存在し、その値が有効かどうかを判断するのに適しています。
array_key_existsは、指定されたキーがPHPアレイに存在するかどうかを判断する優先関数です。
キーが存在するが、値がnullになる可能性がある状況で動作します。
シンプルな構文、使いやすい、適切な互換性。
ISSETとarray_key_existsを混同しないように注意し、実際のニーズに応じて適切な関数を選択してください。
PHPアレイ操作に関する洞察を得たい場合は、公式ドキュメントhttps://gitbox.net/manual/en/function.array-key-exists.phpにアクセスできます。