【PHP】array_key_existsを使って配列のキーがあるか確認!

PHPでは配列の要素の中から指定したキーや値が存在するかということを
調べるためのarray_key_exists()関数が用意されています。

今回はarray_key_exists()関数を使って、配列にキーが存在するかチェックする方法を
分かり易く解説しており、初心者でも分かり易いようにサンプルコードも用意しています。

array_key_exists()関数とは

array_key_exists()関数は、指定されたキーが配列に存在するかどうかを確認するために使用されます。
指定されたキーが配列に設定されている場合、関数はtrueを返し、設定されていない場合はfalseを返します。
キーは、配列インデックスに可能な任意の値にすることができます。

array_key_exists関数は以下のように記述します。

パラメータ

パラメータは以下のようになります。

名前 説明 必須 タイプ
キー名 チェックする値 必須 単数、複数
配列名 キーがチェックされる指定された配列 必須 配列

※複数:パラメーターが複数の(必ずしもすべてではない)タイプを受け入れる可能性があることを示します。

戻り値

ブール値を返します。
ですので成功した場合はtrue、失敗した場合はfalseを返します。

array_key_exists()関数の使用方法

array_key_exists()関数を使うことで、指定したキーが存在するかどうかを確認することができます。
また、指定したインデックスが存在するかを確認することもできます。

言葉だけではイメージできないと思いますので、サンプルコードを使って解説していきます。

array_key_exists()関数を使って指定したキーが存在するか確認

array_key_exists()関数を使って指定したキーが存在するかどうかをサンプルコードを
使って解説していきましょう。

配列にキーがあるか確認例1

出力結果

そのキーは存在します!

変数carは配列を定義しており、中には「TOYOTA」の「CHーR」と「HONDA」の「Fit」が
存在しています。そしてarray_key_exists()関数を使うことで、car変数の中に「TOYOTA」
というキーが存在するかを確認しています。

今回は存在する為、trueを返すようになり、「そのキーは存在します!」と表示されるようになります。

続いて、キーが存在しない場合を見てみましょう。array_key_exists()関数のキーをBMWに変更してみます。

配列にキーがあるか確認例2

出力結果

そのキーは存在しません!

car変数にはBMWが存在しない為、array_key_exists()関数ではfalseを返すようになり、
「そのキーは存在しません!」と表示されるようになります。

続いて、キーを複数確認する場合を見てみましょう。array_key_exists()関数
のキーをBMWとFiatに変更してみます。

配列にキーがあるか確認例3

出力結果

そのキーは存在しません!

car変数にはBMWとFiatが存在しない為、array_key_exists()関数ではfalseを返すようになり、
「そのキーは存在しません!」と表示されるようになります。
このようにarray_key_exists()関数は複数のキーを確認することも可能です。
しかし、たくさんのキーの存在を確認する場合は使わない方がいいと思います。

最後に存在するキーを変数の中に入れて確認してみましょう。

配列にキーがあるか確認例4

出力結果

キーがりました。

調べたいキーを変数に格納し、その変数でarray_key_exists()関数を使用することもできました。

多次元配列にキーがあるか確認することもできる

array_key_exists()関数は普通の配列だけでなく、多次元配列にキーがあるか確認することもできます。

こちらは、Sossyの助太刀ブログさんの「【PHP】array_key_exists()で配列や連想配列にキーが存在するかどうか調べる!」という記事でご紹介されていましたので、詳しく知りたい方は是非みてみてください。

Writer

ST

株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報