PHPの連想配列から任意の値を取得する方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPの連想配列から任意の値を取得する方法について現役エンジニアが解説しています。連想配列は数値ではなく文字列をキーとして値を保存する配列のことです。連想配列のキーを取得するarray_keys関数とforeachなどの繰り返し文を使って連想配列から任意の値を取得することが出来ます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
監修してくれたメンター
nakamoto
今回は、PHPの連想配列から任意の値を取得する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
実務でも、連想配列を利用して、複数のデータを管理した実装を行うので、ぜひ学習してみてください。
目次
そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPの連想配列から任意の値を取得する方法について詳しく説明していくね!
お願いします!
連想配列とは
連想配列とは、文字をキーとして値を設定する配列のことです。
配列とは、複数の値を入れることができる変数のようなものです。
変数とは、1つの値を入れる箱のようなものです。
配列で複数の値を入れる時に、インデックスと呼ばれる番号で管理します。
インデックスは0番から開始します。
つまり、配列の最初の箱は0番目です。
連想配列では、0番目のインデックスの指定を、キーという任意の文字列で指定可能です。
連想配列において任意の文字列でキーを指定することは、キーと値の関連性をもたせた命名にできるので、値を想像しやすいというメリットがあります。
例えば、連想配列でキーを「apple」にして、値(バリュー)を「リンゴ」にすることで、リンゴの英語名である「apple」をキー名に指定しているため、値(バリュー)は「リンゴ」という想像しやすい関係を保つことが可能です。
連想配列に対し、配列のように自動的に0番目のインデックスの指定をしてくれることは、キーの名称を考える必要がないというメリットがあります。
連想配列の作り方
連想配列は、array 関数を使用すれば一度に値をセットできます。
基本コード
array("apple" => "リンゴ", "orange" => "ミカン", "lemon" => "レモン");
解説
“apple”、”orange”、”lemon”は連想配列のキーです。
そこから「=>」を使用して、その先に値を設定します。
“リンゴ”、”ミカン”、”レモン” は”apple”、”orange”、”lemon”に対する値です。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
連想配列のキーを取得
連想配列のキーの取得には、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は連想配列のキーの文字だけを取得する関数になります。
取得したキーの文字は配列として格納されます。
連想配列の値を取得
ここでは、連想配列の値を取得する方法を解説します。
サンプルコード
<?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を終了しています。
まとめ
今回は、PHPの連想配列について学習しました。
PHPの連想配列のキーと値を取得方法について学習しました。
PHPの連想配列のキーと値を出力する方法についても学習しました。
配列については、PHPの配列の基本について参考にしてみてください。
内容が分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
PHPを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのPHP/Laravelコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、PHP/Laravelを使ったWebアプリケーション開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!