【PHP】array_key_existsを使って配列のキーがあるか確認!
PHPでは配列の要素の中から指定したキーや値が存在するかということを
調べるためのarray_key_exists()関数が用意されています。
今回はarray_key_exists()関数を使って、配列にキーが存在するかチェックする方法を
分かり易く解説しており、初心者でも分かり易いようにサンプルコードも用意しています。
目次
array_key_exists()関数とは
array_key_exists()関数は、指定されたキーが配列に存在するかどうかを確認するために使用されます。
指定されたキーが配列に設定されている場合、関数はtrueを返し、設定されていない場合はfalseを返します。
キーは、配列インデックスに可能な任意の値にすることができます。
array_key_exists関数は以下のように記述します。
1 2 3 |
<?php array_key_exists($キー、$配列名) ?> |
パラメータ
パラメータは以下のようになります。
名前 | 説明 | 必須 | タイプ |
---|---|---|---|
キー名 | チェックする値 | 必須 | 単数、複数 |
配列名 | キーがチェックされる指定された配列 | 必須 | 配列 |
※複数:パラメーターが複数の(必ずしもすべてではない)タイプを受け入れる可能性があることを示します。
戻り値
ブール値を返します。
ですので成功した場合はtrue、失敗した場合はfalseを返します。
array_key_exists()関数の使用方法
array_key_exists()関数を使うことで、指定したキーが存在するかどうかを確認することができます。
また、指定したインデックスが存在するかを確認することもできます。
言葉だけではイメージできないと思いますので、サンプルコードを使って解説していきます。
array_key_exists()関数を使って指定したキーが存在するか確認
!
array_key_exists()関数を使って指定したキーが存在するかどうかをサンプルコードを
使って解説していきましょう。
配列にキーがあるか確認例1
1 2 3 4 5 6 7 8 9 10 11 |
<?php $car = array("TOYOTA"=>"CH-R","HONDA"=>"Fit"); if (array_key_exists("TOYOTA",$car)) { echo "そのキーは存在します!"; } else { echo "そのキーは存在しません!"; } ?> |
出力結果
そのキーは存在します!
変数carは配列を定義しており、中には「TOYOTA」の「CHーR」と「HONDA」の「Fit」が
存在しています。そしてarray_key_exists()関数を使うことで、car変数の中に「TOYOTA」
というキーが存在するかを確認しています。
今回は存在する為、trueを返すようになり、「そのキーは存在します!」と表示されるようになります。
続いて、キーが存在しない場合を見てみましょう。array_key_exists()関数のキーをBMWに変更してみます。
配列にキーがあるか確認例2
1 2 3 4 5 6 7 8 9 10 11 |
<?php $car = array("TOYOTA"=>"CH-R","HONDA"=>"Fit") if (array_key_exists("BMW",$car)) { echo "そのキーは存在します!"; } else { echo "そのキーは存在しません!"; } ?> |
出力結果
そのキーは存在しません!
car変数にはBMWが存在しない為、array_key_exists()関数ではfalseを返すようになり、
「そのキーは存在しません!」と表示されるようになります。
続いて、キーを複数確認する場合を見てみましょう。array_key_exists()関数
のキーをBMWとFiatに変更してみます。
配列にキーがあるか確認例3
1 2 3 4 5 6 7 8 9 10 11 |
<?php $car = array("TOYOTA"=>"CH-R","HONDA"=>"Fit"); if (if (array_key_exists("BMW", $car) && array_key_exists("Fiat", $car)) { echo "そのキーは存在します!"; } else { echo "そのキーは存在しません!"; } ?> |
出力結果
そのキーは存在しません!
car変数にはBMWとFiatが存在しない為、array_key_exists()関数ではfalseを返すようになり、
「そのキーは存在しません!」と表示されるようになります。
このようにarray_key_exists()関数は複数のキーを確認することも可能です。
しかし、たくさんのキーの存在を確認する場合は使わない方がいいと思います。
最後に存在するキーを変数の中に入れて確認してみましょう。
配列にキーがあるか確認例4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php function result($index, $array) { if (array_key_exists($index, $array)){ echo "キーがありました。"; } else{ echo "キーがありましたせん。"; } } $array = array("banana"=>25, "orange"=>10, "lemon"=>20, "peach"=>50); $index = "strawberry"; print_r(result($index, $array)); ?> |
出力結果
キーがりました。
調べたいキーを変数に格納し、その変数でarray_key_exists()関数を使用することもできました。
多次元配列にキーがあるか確認することもできる
array_key_exists()関数は普通の配列だけでなく、多次元配列にキーがあるか確認することもできます。
こちらは、Sossyの助太刀ブログさんの「【PHP】array_key_exists()で配列や連想配列にキーが存在するかどうか調べる!」という記事でご紹介されていましたので、詳しく知りたい方は是非みてみてください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。