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