PHPで配列のキーが存在するか調べる:array_key_exists(), isset()
PHPで配列のキーが存在するかどうか調べる方法を紹介します。
array_key_exists()を使って調べる
配列のキーが存在するかどうか調べるにはarray_key_exists()を使います。
array_key_exists()の記述方法は以下のとおりです。
bool array_key_exists(キー, 対象の配列);
この関数は指定したキーが配列内に存在している場合はTRUEを返し、存在しない場合はFALSEを返します。
以下は”Mike”というキーが配列内に存在するかどうか調べるプログラムの例です。
<?php $array = array('Jhon' => 23, 'Mike' => 31); if ( array_key_exists('Mike', $array) ) { echo "配列内にMikeというキーは存在します\n"; } ?>
上の例では”Mike”というキーが存在するので、array_key_exists()はTRUEを返します。
実行結果
配列内にMikeというキーは存在します
isset()を使って調べる
isset()は変数がセットされていて、それがNULLであるかどうか調べる関数です。isset()でも配列内にキーが存在しているか調べることができます。
bool isset(配列[キー])
この場合、配列にキーが存在している場合はTRUE、存在しない場合はFALSEを返します。ただし、指定したキーの要素がNULLの場合はFLASEを返すので注意してください。
以下は先ほどと同様に”Mike”というキーが配列内に存在するかどうか調べるプログラムの例です。
<?php $array = array('Jhon' => 23, 'Mike' => 31); if ( isset($array['Mike']) ) { echo "配列内にMikeというキーは存在し要素はNULLではありません\n"; } ?>
上の例では”Mike”というキーが存在するので、isset()はTRUEを返します。
実行結果
配列内にMikeというキーは存在し要素はNULLではありません
指定したキーの要素がNULLの場合
<?php $array = array('Jhon' => 23, 'Mike' => NULL); if ( isset($array['Mike']) ) { echo "配列内にMikeというキーは存在し要素はNULLではありません\n"; } ?>
この場合は”Mike”というキーは存在しますが、要素がNULLですので何も表示されません。