icon
icon

PHPの連想配列から任意の値を取得する方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPの連想配列から任意の値を取得する方法について現役エンジニアが解説しています。連想配列は数値ではなく文字列をキーとして値を保存する配列のことです。連想配列のキーを取得するarray_keys関数とforeachなどの繰り返し文を使って連想配列から任意の値を取得することが出来ます。

テックアカデミーマガジンは受講者数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の連想配列から任意の値を取得する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

実務でも、連想配列を利用して、複数のデータを管理した実装を行うので、ぜひ学習してみてください。

 

目次

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

PHPの連想配列から任意の値を取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

連想配列とは

連想配列とは、文字をキーとして値を設定する配列のことです。

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

変数とは、1つの値を入れる箱のようなものです。

配列で複数の値を入れる時に、インデックスと呼ばれる番号で管理します。

インデックスは0番から開始します。

つまり、配列の最初の箱は0番目です。

連想配列では、0番目のインデックスの指定を、キーという任意の文字列で指定可能です。

連想配列において任意の文字列でキーを指定することは、キーと値の関連性をもたせた命名にできるので、値を想像しやすいというメリットがあります。

例えば、連想配列でキーを「apple」にして、値(バリュー)を「リンゴ」にすることで、リンゴの英語名である「apple」をキー名に指定しているため、値(バリュー)は「リンゴ」という想像しやすい関係を保つことが可能です。

連想配列に対し、配列のように自動的に0番目のインデックスの指定をしてくれることは、キーの名称を考える必要がないというメリットがあります。

 

連想配列の作り方

連想配列は、array 関数を使用すれば一度に値をセットできます。

 

基本コード

array("apple" => "リンゴ", "orange" => "ミカン", "lemon" => "レモン");

解説

“apple”、”orange”、”lemon”は連想配列のキーです。

そこから「=>」を使用して、その先に値を設定します。

“リンゴ”、”ミカン”、”レモン” は”apple”、”orange”、”lemon”に対する値です。

 

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

連想配列のキーを取得

連想配列のキーの取得には、array_keys関数を使用します。

連想配列のキーと値を取得する基本コード

<?php
$fruits = array("apple" => "リンゴ", "orange" => "ミカン", "lemon" => "レモン");
$keys = array_keys($fruits);
var_dump($keys);

実行結果

解説

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

$fruits = array(“apple” => “リンゴ”, “orange” => “ミカン”, “lemon” => “レモン”);では、”apple”、”orange”、”lemon”という連想配列のキーに、”リンゴ”、”ミカン”、”レモン” という値を対応させて、変数$fruitsに代入します。

$keys = array_keys($fruits);では、変数$fruitsの値をarray_keys関数を利用して取得しています。

array_keys関数で取得したキーの文字は配列として格納されます。

今回は、配列データを$keysに代入します。

var_dump($keys);では$keysを出力します。

array_keysは連想配列のキーの文字だけを取得する関数になります。

取得したキーの文字は配列として格納されます。

 

コラム

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

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

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

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

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

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

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

連想配列の値を取得

ここでは、連想配列の値を取得する方法を解説します。

サンプルコード

<?php
$fruits = array("apple" => "リンゴ", "orange" => "ミカン", "lemon" => "レモン");
echo($fruits["apple"]."\n");
echo($fruits["orange"]."\n");
echo($fruits["lemon"]."\n");

実行結果

解説

<?phpでは、PHPプログラムを開始することを意味します。

$fruits = array(“apple” => “リンゴ”, “orange” => “ミカン”, “lemon” => “レモン”);では、”apple”、”orange”、”lemon”という連想配列のキーに、”リンゴ”、”ミカン”、”レモン” という値を対応させて、変数$fruitsに代入します。

echo($fruits[“apple”].”\n”);では、変数$fruitsのキーにappleを指定することで、リンゴという値を表示しています。

echo($fruits[“orange”].”\n”);では、変数$fruitsのキーにorangeを指定することで、ミカンという値を表示しています。

echo($fruits[“lemon”].”\n”);では、変数$fruitsのキーにlemonを指定することで、レモンという値を表示しています。

連想配列の値を取得するためには連想配列の変数に対して[]を使用し、[]の中にキーの文字を入れることで、指定したキーに対する値を取得することができます。

 

連想配列のキーと値を出力する

PHPのforeach制御文を使用することで、連想配列に設定したキーと値を出力できます。

サンプルコード

<?php
$fruits = array("apple" => "リンゴ", "orange" => "ミカン", "lemon" => "レモン");
// 連想配列のキーと値を出力
foreach ($fruits as $key => $value) {
 echo $key;  // $keyにキーの文字が入っている
 echo "'s value is ";
 echo $value;  // $valueにデータが入っている
 echo "\n";
}

出力結果


解説

<?phpでは、PHPのプログラムを開始することを意味します。

$fruits = array(“apple” => “リンゴ”, “orange” => “ミカン”, “lemon” => “レモン”);では、”apple”、”orange”、”lemon”という連想配列のキーに、”リンゴ”、”ミカン”、”レモン” という値を対応させて、変数$fruitsに代入します。

foreach ($fruits as $key => $value) {では、foreachを利用した繰り返し処理を行います。

$fruits as $key => $valueでは、連想配列$fruitsのキーを$keyに代入し、値を$valueに代入します。

froeachを利用しているので、連想配列$fruitsの最初から最後までのデータすべてを、繰り返し$keyと$valueに代入します。

echo $key; では、連想配列$fruitsのキーを出力します。

echo “‘s value is “;では、「s value is」という英文を出力します。

echo $value; では、連想配列$fruitsの値を出力します。

echo “\n”;では、改行しています。

}では、foreachを終了しています。

 

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

まとめ

今回は、PHPの連想配列について学習しました。

PHPの連想配列のキーと値を取得方法について学習しました。

PHPの連想配列のキーと値を出力する方法についても学習しました。

配列については、PHPの配列の基本について参考にしてみてください。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

PHPを学習中の方へ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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