・IT/Web系エンジニアの経験者の方
・どこの転職エージェントを利用しようか迷っている方
それなら、キッカケエージェントにご相談!
キッカケエージェントでは、少数精鋭のエージェントが、エンジニアの経験やスキル、志向性などをカウンセリングし、的確なアドバイスを提供します!
また、徹底した企業へのヒアリングにより、最適なマッチングを実現し、今では内定率が一般的なエージェントの2倍以上となっています!
転職エージェントに迷っている方、まずは無料でキャリア相談から!
(この記事は2022年7月30日に投稿されました。)
PHPで配列や連想配列にキーが存在するかどうかを調べる方法として、array_key_exists()があります。
array_key_exists()とは配列に指定したキーがあるかどうかを調べる関数であり、真偽値を返り値として返すようになります。
そのため、配列に指定したキーが存在する場合は「True」を、配列に指定したキーが存在しない場合は「False」が返されます。
そして、array_key_exists()は、連想配列や2次元配列や3次元配列のような多次元配列の中のキーを調べることもできます。
今回はPHPのarray_key_exists()で配列や連想配列にキーが存在するかどうか調べる方法について紹介していきます。
array_key_exists()とは
冒頭でも言いましたが、array_key_exists()とは、配列に指定したキーがあるかどうかを調べる関数となります。
存在する場合は「true」、存在しない場合は「false」のように、array_key_exists()は真偽値を返り値として返すようになります。
array_key_exists()の書き方
array_key_exists()の書き方は下記のようになります。
1 | <?php array_key_exists('調べたいキー', 'キーの有無を調べたい配列'); ?> |
array_key_exists()は基本2つのパラメータを指定して使用することができます。
array_key_exists()のパラメータ
array_key_exists()のパラメータは下記のようになります。
- 調べたいキー(必須):
配列の中にあるかどうか調べたいキーを指定する - キーの有無を調べたい配列(必須):
キーの有無を調べたい配列を指定する
array_key_exists()は必須なパラメータとして「調べたいキー」と「キーの有無を調べたい配列」を指定します。
array_key_exists()で配列にキーが存在するかどうか調べるサンプルコード
array_key_exists()で配列にキーが存在するかどうか調べるサンプルコードをご紹介します。
ここでは下記の2つの場合で、array_flip()を使用します。
- 配列に指定したキーが存在する場合
- 配列に指定したキーが存在しない場合
- 指定したキーの値がNULLの場合
配列に指定したキーが存在する場合
配列に指定したキーが存在する場合にarray_key_exists()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $saunas = ['かるまる','ウェルビー','大東洋','大東洋','さうなグリンピア']; print_r($saunas); echo '⚫︎ 調べたいキー'; $key = '3'; print_r($key); echo '⚫︎ array_key_exists()使用後'; $saunas_ake = array_key_exists($key, $saunas); var_dump($saunas_ake); ?> |
実行結果
指定したキーが存在する場合にarray_key_exists()を使用すると、「true」が返されるようになります。
配列に指定したキーが存在しない場合
配列に指定したキーが存在しない場合にarray_key_exists()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $saunas = ['かるまる','ウェルビー','大東洋','サウナラボ','さうなグリンピア']; print_r($saunas); echo '⚫︎ 調べたいキー'; $key = '8'; print_r($key); echo '⚫︎ array_key_exists()使用後'; $saunas_ake = array_key_exists($key, $saunas); var_dump($saunas_ake); ?> |
実行結果
指定したキーが存在しない場合にarray_key_exists()を使用すると、「false」が返されるようになります。
指定したキーの値がNULLの場合
指定したキーの値が「NULL」の場合にarray_key_exists()を使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo '⚫︎ 対象の配列'; $saunas = ['かるまる','ウェルビー','大東洋',NULL,'さうなグリンピア']; print_r($saunas); echo '⚫︎ 調べたいキー'; $key = '3'; print_r($key); echo '⚫︎ array_key_exists()使用後'; $saunas_ake = array_key_exists($key, $saunas); var_dump($saunas_ake); ?> |
実行結果
array_key_exists()は「NULL」が設定されているものでも、配列が定義されていると「True」を返します。
array_key_exists()で連想配列にキーが存在するかどうか調べるサンプルコード
array_key_exists()で連想配列にキーが存在するかどうか調べるサンプルコードをご紹介します。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <?php echo '⚫︎ 対象の連想配列'; $saunas = [ '東京' => 'かるまる', '愛知' => 'ウェルビー', '大阪' => '大東洋', '福岡' => 'サウナラボ', '高知' => 'さうなグリンピア']; print_r($saunas); echo '⚫︎ 調べたいキー-1'; $key1 = '大阪'; print_r($key1); echo '⚫︎ array_key_exists()使用後-1'; $saunas_ake1 = array_key_exists($key1, $saunas); var_dump($saunas_ake1); echo '⚫︎ 調べたいキー-2'; $key2 = '神奈川'; print_r($key2); echo '⚫︎ array_key_exists()使用後-2'; $saunas_ake2 = array_key_exists($key2, $saunas); var_dump($saunas_ake2); ?> |
実行結果
array_key_exists()を連想配列で使用すると、指定キーが存在する場合は「True」、指定したキーが存在しない場合は「False」が返されています。
array_key_exists()で多次元配列にキーが存在するかどうか調べるサンプルコード
array_key_exists()で多次元配列にキーが存在するかどうか調べるサンプルコードをご紹介します。
2次元配列に使用する場合
array_key_exists()を2次元配列に使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php echo '⚫︎ 対象の配列'; $saunas = [ ['かるまる', '北欧', 'マルシンスパ', '黄金湯'], ['タイムズ スパ・レスタ', 'スパ ラクーア', 'マルシンスパ', 'ロスコ'] ]; print_r($saunas); echo '⚫︎ 調べたいキー-1'; $key1 = 2; print_r($key1); echo '⚫︎ array_key_exists()使用後-1'; $saunas_ake1 = array_key_exists($key1, $saunas); var_dump($saunas_ake1); echo '⚫︎ 調べたいキー-2'; $key2 = 3; print_r($key2); echo '⚫︎ array_key_exists()使用後-2'; $saunas_ake2 = array_key_exists($key2, $saunas[0]); var_dump($saunas_ake2); ?> |
実行結果
array_key_exists()で2次元配列のキーを調べることができます。
また、配列の後ろにインデックスを1つ指定することで、2次元配列内にある1次元配列のキーの有無を調べることができます。
3次元配列に使用する場合
array_key_exists()を3次元配列に使用してみます。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <?php echo '⚫︎ 対象の配列'; $saunas = [ [['かるまる', '北欧', 'マルシンスパ', '黄金湯'],['タイムズ スパ・レスタ', 'スパ ラクーア', 'マルシンスパ', 'ロスコ']], [['ウェルビー', 'サウナラボ', 'キャナル・リゾート', 'サウナイーグル'],['湯~とぴあ宝', 'アぺぜ', '喜多の湯', 'テレビ温泉']] ]; print_r($saunas); echo '⚫︎ 調べたいキー-1'; $key1 = 2; print_r($key1); echo '⚫︎ array_key_exists()使用後-1'; $saunas_ake1 = array_key_exists($key1, $saunas); var_dump($saunas_ake1); echo '⚫︎ 調べたいキー-2'; $key2 = 1; print_r($key2); echo '⚫︎ array_key_exists()使用後-2'; $saunas_ake2 = array_key_exists($key2, $saunas[0]); var_dump($saunas_ake2); echo '⚫︎ 調べたいキー-3'; $key3 = 3; print_r($key3); echo '⚫︎ array_key_exists()使用後-3'; $saunas_ake3 = array_key_exists($key3, $saunas[0][1]); var_dump($saunas_ake3); ?> |
実行結果
array_key_exists()で3次元配列のキーを調べることができます。
また、配列の後ろにインデックスを1つ指定することで、3次元配列内にある2次元配列のキーの有無を調べることができ、2つ指定することで、3次元配列内にある1次元配列のキーの有無を調べることができます。
配列や連想配列のキーを取得したい場合
配列や連想配列のキーを取得したい場合はarray_keys()を使用します。
array_keys()とは、指定した配列や連想配列のキーを全て配列形式で取得する関数となります。
⚫︎ index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php echo '⚫︎ 対象の配列'; $saunas1 = ['かるまる','ウェルビー','大東洋','サウナラボ','さうなグリンピア']; print_r($saunas1); echo '⚫︎ array_keys()使用後-1'; $saunas1_keys = array_keys($saunas1); var_dump($saunas1_keys); echo '⚫︎ 対象の連想配列'; $saunas2 = [ '東京' => 'かるまる', '愛知' => 'ウェルビー', '大阪' => '大東洋', '福岡' => 'サウナラボ', '高知' => 'さうなグリンピア' ]; print_r($saunas2); echo '⚫︎ array_keys()使用後-2'; $saunas2_keys = array_keys($saunas2); var_dump($saunas2_keys); ?> |
実行結果
array_keys()によって配列や連想配列のキーを取得しています。
もし、array_keys()について詳しく知りたい場合は下記の記事をご参考ください。
まとめ
⚫︎ array_key_exists()とは配列に指定したキーがあるかどうかを調べる関数である
⚫︎ array_key_exists()は2つのパラメータを指定して使用する
・ 調べたいキー(必須)
・ キーの有無を調べたい配列(必須)
⚫︎ 配列に指定したキーが存在する場合にarray_keys()を使用すると「True」を返す
⚫︎ 配列に指定したキーが存在しない場合にarray_keys()を使用すると「False」を返す
⚫︎ 指定したキーの値がNULLの場合にarray_keys()を使用すると「True」を返す
(「NULL」が設定されていても、配列が定義されていると格納されている値とみなす)
⚫︎ array_key_exists()は連想配列のキーが存在するかどうかを調べることができる
⚫︎ array_key_exists()は多次元配列でもキーが存在するかどうかを調べることができる
⚫︎ 配列や連想配列のキーを取得したい場合はarray_keys()を使用する