PHPの配列に特定のキーが存在するかどうかを確認する方法

PHPz
リリース: 2023-04-18 13:38:46
オリジナル
824 人が閲覧しました

PHP では、キーが存在するかどうかを判断するなど、配列を操作する必要がある場合があります。配列を処理するとき、配列内に特定のキーが存在するかどうかを判断するのは非常に一般的な操作です。この操作の実装方法を見てみましょう。

まず、PHP で配列を定義し、その配列に特定のキーが存在するかどうかを確認する必要があります。以下は基本的な配列の例です。

$arr = array(
  'name' => '张三',
  'age' => 30,
  'address' => '北京市朝阳区',
);
ログイン後にコピー

次に、特定のキーが配列内に存在するかどうかを確認する 2 つの方法を紹介します。

isset() 関数

PHP では、isset() 関数を使用して、変数または配列の値が存在するかどうかを判断できます。このうち、配列のキーが存在し、その値が NULL でない場合、isset() 関数は true を返し、それ以外の場合は false を返します。つまり、配列内のキーが存在するかどうかを確認したい場合は、次のコードを使用できます。

if (isset($arr['name'])) {
  echo '存在name键';
} else {
  echo '不存在name键';
}
ログイン後にコピー

上記のコードでは、$arr という名前の配列に $arr が存在する場合、 'name' キーの場合、出力 name key が存在します。それ以外の場合、出力

name key

は存在しません。 さらに、複数のキーが混在しているかどうかも確認できます。たとえば、'name''age'

'address'

という名前のキーがすべて存在するかどうかを確認できます:

if (isset($arr['name'], $arr['age'], $arr['address'])) {
  echo '这三个键都存在';
} else {
  echo '至少有一个键不存在';
}
ログイン後にコピー

array_key_exists ( ) 関数 isset() 関数の使用に加えて、

array_key_exists()

関数を使用して、配列内に特定のキーが存在するかどうかを確認することもできます。使用方法も非常に簡単で、コードは次のとおりです。 ## に名前付き 'name'# がある場合、

if (array_key_exists('name', $arr)) {
  echo '存在name键';
} else {
  echo '不存在name键';
}
ログイン後にコピー
関数と isset() 関数は似ています。 #$arr 配列 ## キーの場合、出力 には名前キー が存在します。それ以外の場合、出力 には名前キー が存在しません。

array_key_exists() は多次元配列の検索に使用できますが、isset() はこれを十分にサポートしていないことに注意してください。例:

$arr2 = array(
  'person' => array(
    'name' => '小明',
    'age' => 18
  ),
  'animal' => array(
    'name' => '小狗',
    'age' => 2
  ),
);

if (array_key_exists('person', $arr2) && array_key_exists('name', $arr2['person'])) {
  $person_name = $arr2['person']['name'];
  echo '人的姓名是:' . $person_name;
}
ログイン後にコピー

上記のコードでは、$arr2 内の 'person''name' という名前のキーが存在するかどうかを確認します。配列 すべて存在します。すべて存在する場合、その人の名前の出力は 'Xiao Ming' になります。

要約すると、isset() 関数と array_key_exists() 関数を使用して、配列内にキーが存在するかどうかを確認できます。このうち、isset() は単純な配列の検索に適しており、array_key_exists() は多次元配列の検索に適しています。実際のニーズに基づいて、特定のキーが配列に存在するかどうかを確認するために使用する関数を選択する必要があります。

以上がPHPの配列に特定のキーが存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート