ホームページ >バックエンド開発 >PHPの問題 >PHPで配列にキーがあるかどうかを確認する方法

PHPで配列にキーがあるかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-26 10:24:54595ブラウズ

PHP は、データを処理し、Web サーバーから動的コンテンツを提供できる、広く使用されているサーバー側スクリプト言語です。 PHP では、配列は複数のデータ項目を格納できる非常に一般的なデータ型であり、キーまたはインデックスによってアクセスできます。実際のプログラミングでは配列に特定のキーがあるかどうかを判定する必要があることが多いですが、この記事ではそれをPHPで実装する方法を紹介します。

  1. array_key_exists 関数を使用する

PHP 組み込み関数 array_key_exists() を使用すると、配列内に特定のキーが存在するかどうかを判断できます。この関数には 2 つのパラメータが必要です。最初のパラメータはチェックするキー名、2 番目のパラメータはチェックする配列です。この関数は、指定されたキーが配列内に存在する場合は true を返し、それ以外の場合は false を返します。

サンプルコード:

$arr = array('name' => 'John', 'age' => 30);
if (array_key_exists('name', $arr)) {
  echo "数组中存在 'name' 键";
} else {
  echo "数组中不存在 'name' 键";
}

実行結果:

数组中存在 'name' 键
  1. isset関数の使い方

PHP組み込み関数isset()で以下のことができます。変数が設定されており、配列内に存在するかどうかを判断します。この関数は、特定のキーが配列内に存在するかどうかを判断するために使用でき、その戻り値は array_key_exists() に似ています。

サンプルコード:

$arr = array('name' => 'John', 'age' => 30);
if (isset($arr['name'])) {
  echo "数组中存在 'name' 键";
} else {
  echo "数组中不存在 'name' 键";
}

実行結果:

数组中存在 'name' 键

キー値が存在するが、その値がnullの場合、isset()関数はfalseを返すことに注意してください。 。したがって、isset()で判定する場合は、実際の状況に応じて演算子の種類を決定する必要があります。

  1. in_array 関数の使用

組み込み関数 in_array() を使用すると、値が配列内にすでに存在するかどうかを確認できます。この関数は、指定された値が配列内にすでに存在する場合は true を返し、それ以外の場合は false を返します。さらに、この関数を使用して値が配列のキーであるかどうかを確認する場合、この関数は PHP5.5 以降でのみ使用でき、関数でキーと値を区別するには 3 番目のパラメーター true を追加する必要があります。

サンプルコード:

$arr = array('name' => 'John', 'age' => 30);
if (in_array('name', $arr)) {
  echo "存在 'name' 键";
} else {
  echo "不存在 'name' 键";
}

実行結果:

不存在 'name' 键
  1. array_key_first 関数と array_key_last 関数を使用する

PHP 7.3 は array_key_first のサポートを開始しました() 関数と array_key_last() 関数、それらの関数は、それぞれ配列内の最初のキーと最後のキーの名前を返すことです。

サンプルコード:

$arr = array('name' => 'John', 'age' => 30);
$first_key = array_key_first($arr);
$last_key = array_key_last($arr);

echo "数组第一个键: " . $first_key . "<br>";
echo "数组最后一个键: " . $last_key;

実行結果:

数组第一个键: name
数组最后一个键: age

array_key_first 関数と array_key_last 関数を使用すると、配列内のキーの存在を確認することで、配列が空かどうかを判断できます。 。

サンプルコード:

$arr1 = array();
$arr2 = array('name' => 'John', 'age' => 30);

if (array_key_first($arr1) === null) {
  echo "数组1为空数组<br>";
}
if (array_key_first($arr2) !== null) {
  echo "数组2不是空数组";
}

実行結果:

数组1为空数组
数组2不是空数组

概要

この記事では、PHP に特定のキーまたはインデックスが存在するかどうかを確認する 4 つの方法を紹介します。 array の場合、それらはそれぞれ array_key_exists()、isset()、in_array() および array_key_first()、array_key_last() 関数です。これらの機能には絶対的な良し悪しがあるわけではなく、実際のプロジェクトのニーズに応じて最適な方法を選択する必要があります。同時に、in_array() を使用する場合はバージョンの互換性など、いくつかの詳細に注意する必要があります。実際に継続的に学習、実験、最適化を行うことで、より良いプログラムが生まれます。

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

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