ywork2020.com

Title

配列にキーが存在するか調べる

目次 (INDEX)

array_key_exists とは

ここで説明する array_key_exists とは次の語句からなる PHP の関数です。
array
読み: アレイ
意味: 配列
key
読み: キー
意味: 鍵、ここでは 配列のキー (添え字) のこと
exists
読み: イグジスツ
意味: 存在

目次に戻る

array_key_exists 関数の概要

この関数は、引数に与えたキー ( 添え字 ) が、指定した配列内に存在するかを調べ、結果を真偽値で返します。

キーが存在すれば true を返し、存在しなければ false を返します。

目次に戻る

構文

サンプルを見る前に構文を確認しておきます。

$blnKeyExists = array_key_exists(intKey | strKey, array)
  • intKey | strKey : 添え字です。インデックス配列ならばインデックス番号を表す数値、または数字となります。連想配列ならば文字列キーとなります。
  • array: キーの存在を調べる、対象となる配列です。

目次に戻る

サンプルコードと実行結果

ここでは、サンプルとなる配列と連想配列を用意し、 その配列内に指定したキーが存在するかを array_key_exists() を使って調べてみます。

サンプルコード: HTML ( 拡張子は .php )
<body>
<?php
	... 
?>
</body>
  • 02: <?php (php のコードを記述するための開始タグです。)
  • 03: ... (この行は [ サンプルコード: PHP ] の内容の部分です。)
  • 04: ?>(php の記述を終了するための終了タグです。)
  • ここでは HTML ドキュメントの body 要素内に php の開始タグと終了タグを置いていますが、 開始タグと終了タグはドキュメントのどの部分に設置しても構いませんし、ドキュメント内の複数の場所に分けて記述しても問題ありません。 また、HTML ドキュメントとしてではなく、純粋に php のコードのみを記述しても構いません。 ただし、どの記述方法であろうともファイルの拡張子は .php であることが必要です。
サンプルコード: PHP
<?php
	$indexArray = ["ywork", "2020"];
	$associativeArray = ["name"=>"ywork", "year"=>"2020"];
	var_dump(array_key_exists(0, $indexArray));
			echo("<hr>");
	var_dump(array_key_exists(2, $indexArray));
			echo("<hr style='border: medium solid blue;'>");
	var_dump(array_key_exists("name", $associativeArray));
			echo("<hr>");
	var_dump(array_key_exists("month", $associativeArray));
?>
  • 02: $indexArray (サンプルとなるインデックス配列です。)
  • 03: $associativeArray (サンプルとなる連想配列です。)
  • 04: array_key_exists(0, $indexArray) ($indexArray には 0 のキーが存在するので true を返します。)
  • 06: array_key_exists(2, $indexArray) ($indexArray には 2 のキーは存在しないので false を返します。)
  • 08: array_key_exists("name", $associativeArray) ($associativeArray には "name" のキーが存在するので true を返します。)
  • 10: array_key_exists("month", $associativeArray) ($associativeArray には "month" のキーは存在しないので false を返します。)
実行結果:
bool(true)
bool(false)
bool(true)
bool(false)

目次に戻る