icon
icon

PHPで配列のkeyを取得する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPで配列のkeyを取得する方法について解説しています。PHPの配列のkeyとは、配列の添字(インデックス)や連想配列のキーのことです。配列のkeyを取得するにはarray_keys関数を使います。array_keys関数は、戻り値としてkey名だけの新しい配列を返してくれます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

監修してくれたメンター

nakamoto

アジマッチ有限会社代表取締役社長。書籍化歓迎。対応業務:PHP(Laravel)、機械学習、Vue.js、LAMP・AWS、越境EC、CTO、エンジニア採用、CTO、経営者の不安解決コンサルティング。

今回は、PHPで配列のkeyを取得する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

PHPで配列のkeyを取得することで、配列で使われているkeyを調べることができます。

実務でも配列のkeyを利用した値の操作を行いますので、ぜひ学習してみてください。

 

目次

1時間でできる無料体験!

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

田島悠介

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

大石ゆかり

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

田島悠介

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

大石ゆかり

お願いします!

 

この記事では、PHPで配列のkeyを取得する方法について記載しています。

まだPHPでの開発に慣れていない方でも理解できる内容です。

 

配列のkeyとvalueについて

PHPでは連想配列という配列において、keyとvalueのセットで連想配列にデータを格納します。

配列とは、複数の値を入れる箱のようなものです。

 

通常の配列

通常の配列においては、添字(インデックス)という数字でデータ(value)の格納場所に番号を振っています。

配列サンプルコード

<?php
$array = ["りんご", "れもん", "もも"];
print_r($array);
echo $array[1];

配列実行結果

配列解説

<?phpでは、PHPプログラムを開始しています。

$array = [“りんご”, “れもん”, “もも”];では、$array配列に”りんご”, “れもん”, “もも”を代入しています。

print_r($array);では、$array配列を表示しています。

echo $array[1];では、$array配列の1番目のインデックスで指定した、れもんを表示しています。

 

連想配列

連想配列は、添字(インデックス)の代わりにデータ(value)を入れる箱に「key」という任意の名前をつけて管理します。

つまり、連想配列ではインデックスではなく、任意の文字列であるkeyを利用してvalueを抽出できます。

連想配列サンプルコード

<?php
$array = ["apple" => "りんご", "lemon" => "れもん", "peach" => "もも"];
print_r($array);
echo $array["lemon"];

連想配列実行結果

連想配列解説

<?phpでは、PHPプログラムを開始しています。

$array = [“apple” => “りんご”, “lemon” => “れもん”, “peach” => “もも”];では、$array配列に”apple” => “りんご”, “lemon” => “れもん”, “peach” => “もも”を代入しています。

print_r($array);では、$array配列を表示しています。

echo $array[“lemon”];では、$array配列のkeyであるlemonで指定した、れもんを表示しています。

 

array_keys関数の使い方

PHPのarray_keys関数は、連想配列の「key」だけを取得する関数です。

それでは、array_keys関数の使い方について見ていきましょう。

 

array_keys関数で「key」だけを抽出する

次のように、array_keys関数の引数に連想配列を渡すことで、「key」だけを抽出した配列として返却します。

array_keys($連想配列)

 

array_keys関数で検索するvalueとセットになっているkeyを抽出

第1引数に連想配列を渡し、第2引数に連想配列の中のvalueから検索したい値を渡すことで、検索するvalueとセットになっているkeyを抽出し配列にして返却します。

第3引数はオプションなので、必須ではありません。

第3引数は、boolean型のtrueを渡すことで、第2引数に渡した「検索するvalue」のデータ型まで完全に一致するものを連想配列の中から探します。

デフォルトではboolean型のfalseが設定されているので、データ型が完全に一致しなくても検索対象です。

boolean型というのは、trueかfalseの2つの値のどちらかになる型の値です。

array_keys($連想配列, $検索するvalue [, $型チェック = FALSE])

 

[PR] PHPプログラミングで挫折しない学習方法を動画で公開中

array_keys関数で「key」だけを抽出する方法を実際に書いてみましょう

ここでは、連想配列のkeyをすべて抽出する方法について見ていきましょう。

 

サンプルコード

<?php
$array = ["apple" => "りんご", "lemon" => "れもん", "peach" => "もも"];
// 連想配列のkeyを抽出し、配列にして返却
$keys = array_keys($array);
print_r($keys);

実行結果

解説

<?phpでは、PHPプログラムを開始しています。

$array = [“りんご”, “れもん”, “もも”];では、$array配列に”りんご”, “れもん”, “もも”を代入しています。

$keys = array_keys($array);では、 array_keys関数を利用して、$array配列のkeyを取得して、変数$keysに代入しています。

print_r($keys);では、変数$keysを表示しています。

実行結果では、連想配列$arrayのkeyがすべて抽出され、$keysに配列として返却されていることが確認できます。

 

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

array_keys関数で検索するvalueとセットになっているkeyを抽出する方法を実際に書いてみましょう

ここでは、array_keys関数で検索するvalueと、セットになっているkeyを抽出する方法を実際に書いてみましょう。

サンプルコード

<?php
$array = ["apple" => "red", "lemon" => "yellow", "peach" => "pink", "banana" => "yellow"];
// "yellow"のvalueとセットのkeyを抽出する
$keys = array_keys($array, "yellow");
print_r($keys);

実行結果

解説

<?phpでは、PHPプログラムを開始しています。

$array = [“apple” => “red”, “lemon” => “yellow”, “peach” => “pink”, “banana” => “yellow”];では、変数$array に、連想配列[“apple” => “red”, “lemon” => “yellow”, “peach” => “pink”, “banana” => “yellow”]を代入しています。

$keys = array_keys($array, “yellow”);では、連想配列が入った$array に対し、”yellow”をvalueに持つkeyの”lemon”と”banana”抽出しています。

抽出後、$keys に代入しています。

print_r($keys);では、$keys を表示しています。

実行結果では、”yellow”をvalueに持つkeyの”lemon”と”banana”抽出され、配列として返却されているのが確認できます。

 

検索するvalueのデータ型までチェックする方法を実際に書いてみましょう

ここでは、array_keys関数で検索するvalueとセットになっているkeyを抽出する方法を応用して、第3引数にtrueを渡して、検索するvalueのデータ型までチェックしてみます。

サンプルコード

<?php
$array = [ 'sandwich' => '150', 'chicken' => '100', 'potato' => '100', 'salad' => '150' ];
// 数値の100をvalueに持つkeyを抽出する
$keys = array_keys($array, '100', true);
print_r($keys);

実行結果

解説

<?phpでは、PHPプログラムを開始しています。

$array = [ ‘sandwich’ => ‘150’, ‘chicken’ => ‘100’, ‘potato’ => ‘100’, ‘salad’ => ‘150’ ];では、$array に連想配列の ‘sandwich’ => ‘150’, ‘chicken’ => ‘100’, ‘potato’ => ‘100’, ‘salad’ => ‘150’ というデータを代入しています。

$keys = array_keys($array, ‘100’, true);では、array_keys関数の第3引数にboolean型のtrueを渡すことで、第2引数に渡す「検索するvalue」の値とデータ型が一致するkeyを連想配列の中から抽出しています。

print_r($keys);では、$keys を表示しています。

今回array_keys($array, ‘100’, true);というコードでは、第2引数に文字列の100を渡しているので、値とデータ型が一致するvalueを持つkeyの”chicken”と”potato”が抽出されているのが確認できました。

 

数値と文字列を混在した場合の解説

もし、用意するデータのうち、”chicken”に数値の100を指定した場合、次のような配列データになります。

$array = [ 'sandwich' => '150', 'chicken' => 100, 'potato' => '100', 'salad' => '150' ];

そして、 array_keys($array, ‘100’, true);でデータを抽出して表示すると、数値データで指定された’chicken’は表示されず、 ‘potato’ のみ表示されます。

 

1時間でできる無料体験!

まとめ

今回は、array_keys関数を使用して、連想配列のkeyを抽出する方法について解説しました。

配列と連想配列の違いを具体的なコードを利用して解説しました。

array_keys関数で、「key」だけを抽出する方法を解説しました。

array_keys関数で、検索するvalueとセットになっているkeyを抽出する方法解説しました。

検索するvalueのデータ型までチェックする方法を解説しました。

array_keys関数は引数の数によって機能が異なる関数なので、使い方をしっかりマスターし、状況に応じて使い分けましょう。

PHPの配列の基本を現役エンジニアが解説した記事も参考にしてみてください。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

分かりました。ありがとうございます!

 

PHPを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

プログラミングを学習していて、このように思ったことはありませんか?

テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する