【PHP】配列内に指定したキーが存在するか調べる関数「array_key_exists()」
今回は配列内に指定したキー(インデックス番号)が存在するかどうか「true」か「false」で返す関数。「array_key_exists()」を使用してみます。
主に連想配列で役に立つ便利な関数なので是非とも覚えておきたいですね。
目次
指定したキーが存在するか調べる「array_key_exists()」
1 |
array_key_exists(検索するキー、配列); |
返り値として、キーが存在した場合「ture」、存在しなかった場合は「false」が返ってきます。
それではサンプルコードを見てみます。
通常の配列の場合
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php //array_key_exists(検索するキー、配列); $array = array("a","b","c"); var_dump(array_key_exists(2,$array)); var_dump(array_key_exists(3,$array)); //実行結果 ture false ?> |
サンプルで「2」を調べた場合は「ture」が返ってきていますが、「3」を調べた時はキー番号が存在しない為「false」が返ってきています。
連想配列の場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php //array_key_exists(検索するキー、配列); $array = array( "red" => "赤", "blue" => "青", "green" => "緑" ); var_dump(array_key_exists("blue",$array)); var_dump(array_key_exists("gold",$array)); //実行結果 ture false ?> |
「blue」を検索した時は「ture」が返ってきており、「gold」を検索した時には「false」が帰って来ました。
キーが存在するか検査するプログラムサンプル
「array_key_exists()」の返り値を使って、 キーが存在する、しないを確認するプログラムが作れそうですね。
このサンプルも作ってみましょう。
キーが存在する場合のプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php //array_key_exists(検索するキー、配列); $array = array( "red" => "赤", "blue" => "青", "green" => "緑" ); $word1 = "blue"; $test1 = array_key_exists("blue",$array); if($test1){ echo $word1."というキーは存在します。"; } else { echo $word1."というキーは存在しません。"; } ?> |
blueというキーは存在します。
キーが存在しない場合のプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php //array_key_exists(検索するキー、配列); $array = array( "red" => "赤", "blue" => "青", "green" => "緑" ); $word2 = "gold"; $test2 = array_key_exists("gold",$array); if($test2){ echo $word2."というキーは存在します。"; } else { echo $word2."というキーは存在しません。"; } ?> |
goldというキーは存在しません。