PHPで配列のkeyを取得する方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPで配列のkeyを取得する方法について解説しています。PHPの配列のkeyとは、配列の添字(インデックス)や連想配列のキーのことです。配列のkeyを取得するにはarray_keys関数を使います。array_keys関数は、戻り値としてkey名だけの新しい配列を返してくれます。
TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。
今回は、PHPで配列のkeyを取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

今回は、PHPに関する内容だね!

どういう内容でしょうか?

PHPで配列のkeyを取得する方法について詳しく説明していくね!

お願いします!
この記事では、PHPで配列のkeyを取得する方法について記載しています。まだPHPでの開発に慣れていない方でも理解できる内容となっています。
目次
配列のkeyとvalueについて
PHPでは連想配列という配列において、keyとvalueのセットで連想配列にデータを格納します。
通常の配列においては、添字(インデックス)という数字でデータ(value)の格納場所に番号を振っています。
通常の配列:
<?php $array = ["りんご", "れもん", "もも"]; print_r($array); echo $array[1]; ?>
実行結果:
Array
(
[0] => りんご
[1] => れもん
[2] => もも
)
れもん
それに対して、連想配列は、添字(インデックス)の代わりにデータ(value)を入れる箱に「key」という任意の名前をつけて管理します。
連想配列:
<?php $array = ["apple" => "りんご", "lemon" => "れもん", "peach" => "もも"]; print_r($array); echo $array["lemon"]; ?>
実行結果:
Array
(
[apple] => りんご
[lemon] => れもん
[peach] => もも
)
れもん
このようにPHPの連想配列は、「key」と「value」のセットでデータを管理します。
[PR] PHPプログラミングで挫折しない学習方法を動画で公開中
array_keys関数の使い方
PHPのarray_keys関数は、連想配列の「key」だけを取得する関数です。
それでは、array_keys関数の使い方について見ていきましょう。
array_keys関数の使い方①:
array_keys($連想配列)
array_keys関数の引数に連想配列を渡すことで、「key」だけを抽出した配列として返却します。
array_keys関数の使い方②:
array_keys($連想配列, $検索するvalue [, $型チェック = FALSE])
2つ目の使い方として、第一引数に連想配列を渡し、第二引数に連想配列の中のvalueから検索したい値を渡すことで、検索するvalueとセットになっているkeyを抽出し、配列にして返却します。
また、第三引数はオプションで、引数を渡さなくても大丈夫なのですが、boolean型のtrueを渡すことで、第二引数に渡した「検索するvalue」のデータ型まで完全に一致するものを連想配列の中から探します。
デフォルトではboolean型のfalseが設定されているので、データ型が完全に一致しなくても検索対象となります。
実際に書いてみよう
それでは、実際にarray_keys関数を使用して、連想配列にkeyを抽出する例を見て行きましょう。
array_keysの使い方①
まずは、上記のarray_keys使い方①の連想配列のkeyを全て抽出する方法について見ていきましょう。
サンプルコード:
<?php $array = ["apple" => "りんご", "lemon" => "れもん", "peach" => "もも"]; // 連想配列のkeyを抽出し、配列にして返却 $keys = array_keys($array); print_r($keys); ?>
実行結果:
Array
(
[0] => apple
[1] => lemon
[2] => peach
)
実行結果から、連想配列$arrayのkeyが全て抽出され、$keysに配列として返却されていることが確認できます。
array_keysの使い方②
次に、上記のarray_keys使い方②の第二引数に「検索するvalue」を渡して対象のvalueとセットとなるkeyを抽出する例を見ていきましょう。
サンプルコード:
<?php $array = ["apple" => "red", "lemon" => "yellow", "peach" => "pink", "banana" => "yellow"]; // "yellow"のvalueとセットのkeyを抽出する $keys = array_keys($array, "yellow"); print_r($keys); ?>
実行結果:
Array
(
[0] => lemon
[1] => banana
)
上記では、第二引数に文字列”yellow”を渡すことで、”yellow”をvalueとして持つkeyを抽出して、出力しています。
実行結果では、”yellow”をvalueに持つkeyの”lemon”と”banana”抽出され、配列として返却されているのが確認できます。
検索するvalueのデータ型までチェックする
続いて、array_keys関数の使い方②の第三引数にtrueを渡した場合の例を見ていきましょう。
サンプルコード:
<?php $array = [ 'sandwich' => '150', 'chicken' => '100', 'potato' => 100, 'salad' => 150 ]; // 数値の100をvalueに持つkeyを抽出する $keys = array_keys($array, 100, true); print_r($keys); ?>
実行結果:
Array
(
[0] => potato
)
上記の例では、array_keys関数の第三引数にboolean型のtrueを渡すことで、第二引数に渡す「検索するvalue」の値とデータ型が一致するkeyを連想配列の中から抽出しています。
第二引数には、数値の100を渡しているので、値とデータ型が一致するvalueを持つkeyの”potato”が抽出されているのが確認できます。
同じ「100」でもデータ型が文字列の100をvalueに持つkeyの”chicken”は、抽出されません。
まとめ
以上、array_keys関数を使用して、連想配列のkeyを抽出する方法について解説しました。
array_keys関数は引数の数によって機能が異なる関数なので、使い方をしっかりマスターし、状況に応じて使い分けましょう。
筆者プロフィール
平野大輝(ひらのだいき)
スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。 |

内容分かりやすくて良かったです!

ゆかりちゃんも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。