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

Shraddha Paghdar 2023年1月30日
  1. array_key_exists() 関数を使用して、PHP 配列にキーが存在するかどうかを確認する
  2. isset() 関数を使用して、PHP 配列にキーが存在するかどうかを確認する
  3. PHP の array_key_exists()isset()
PHP の配列にキーが存在するかどうかを確認する

配列は、PHP の単一の変数であり、その中に多くの要素を保持します。配列内に格納されている各要素には、DB の主キーのような一意のインデックスが割り当てられています。そのインデックスを使用して、配列の要素にアクセスできます。スクリプトは、特定のキーが存在するかどうか、または値に対して操作を実行しないかどうかをチェックする必要がある場合があります。このチュートリアル記事では、特定のキーが配列に存在するかどうかを確認する方法について説明します。

PHP は、次の 3 種類の配列をサポートしています。

  1. インデックス付き配列-値のみが提供される数値インデックス付きの配列。例えば、array(1,2,3)
  2. 連想配列-名前付きキーを持つ配列。キーも JSON オブジェクトのように値とともに定義されます。例えば、array("first" => 1, "second" => 2)
  3. 多次元配列-1つ以上のネストされた配列を含む配列。例えば、array(array("a", "b", "c"), array("d", "e", "f"), array("g", "h", "i"))

PHP には、配列にキーが含まれているかどうかを確認する 2つの方法があります。まず、これら 2つの方法を理解し、次にそれらを比較して結果を取得します。

array_key_exists() 関数を使用して、PHP 配列にキーが存在するかどうかを確認する

PHP には、指定されたキーまたはインデックスが指定された配列に存在するかどうかをチェックする組み込み関数 array_key_exists が用意されています。array_key_exists() 関数はインデックス付き配列と連想配列で機能しますが、多次元配列のネストされたキーは見つかりません。array_key_exists() は、最初の次元内のキーのみを検索します。キーと値のペアが存在しない場合、配列は数値キーをゼロから始まるデフォルトのキーと見なします。

array_key_exists() の構文

array_key_exists(string|int $key, array $array): bool

パラメーター

  • $key (必須):このパラメーターは、入力配列で検索する必要のあるキー/インデックスを参照します。
  • $array (必須):このパラメーターは、指定されたキー/インデックス $key を検索する元の配列を参照します。

戻り値

キー/インデックスが見つかった場合は true を返し、キー/インデックスが見つからなかった場合は false を返します。

サンプルコード

<?php
  $search_array = array('first' => 1, 'second' => 2);
  if (array_key_exists('first', $search_array)) {
    echo "The 'first' element is found in the array";
  } else {
    echo "Key does not exist";
  }
?>

出力:

The 'first' element is found in the array

isset() 関数を使用して、PHP 配列にキーが存在するかどうかを確認する

PHP は、変数が設定されているかどうかを判別する関数 isset() を提供します。これは、変数が宣言され、null 以外の値が割り当てられている場合を意味します。isset() は、変数が null に割り当てられている場合、false を返します。

isset() の構文

isset(mixed $var, mixed ...$vars): bool

多くのパラメーターを渡すことができます。多くのパラメーターが指定されている場合、isset() は、渡されたすべてのパラメーターがすべて設定されている場合にのみ true を返します。PHP は左から右に評価し、未設定の変数が検出されるとすぐに停止します。

パラメーター

  • $var:チェックされる最初の変数。
  • $vars:さらにチェックする変数。

戻り値

変数が存在し、null 以外の値がある場合は true を返し、そうでない場合は false を返します。

サンプルコード

<?php
  $search_array = array('first' => 1, 'second' => 2);
  if (isset($search_array['first'])) {
    echo "The 'first' element is found in the array";
  } else {
    echo "Key does not exist";
  }
?>

出力:

The 'first' element is found in the array

PHP の array_key_exists()isset()

isset()null 値に対応する配列キーに対して true を返しませんが、array_key_exists()true を返します。

<?php
    $search_array = array('first' => null, 'second' => 2);
    echo isset($search_array['first']) ? "true" : "false";
    echo "\n";
    echo array_key_exists('first', $search_array) ? "true" : "false";
?>

出力:

false
true
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

関連記事 - PHP Array