PHPで連想配列を使う方法【初心者向け】
PHPで【連想配列】を使う方法をプログラミング初心者向けに解説した記事です。連想配列では、配列を、番号のかわりに名前をつけて管理することができます。そのため、データを入れたあとの扱いをわかりやすくすることが可能です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
プログラミング初心者向けに、PHPの基礎を紹介する記事です。
今回は、PHPの連想配列について解説します。
なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
また、開発環境はXAMPPを使っています。
そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。
なお、今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。
連想配列とは
PHPの配列とは、ひとつの変数に複数のデータを入れておくものでした。
連想配列とは、配列をもう少し使いやすくしたものです。
具体的に違いを説明すると、配列には、変数の箱の中身に 0,1,2……と背番号のように番号を振り、その番号を指定することでデータを指定するという性質がありましたが、連想配列では、番号のかわりに名前をつけて管理することができます。
両者では使う箱は同じですが、連想配列では、データを入れたあとの扱いをわかりやすくするために、しきりごとに数字でなく名前を決めて、その名前ごとのデータを取り出せるのです。
配列のように[0]や[1]で値にアクセスするよりは、[‘apple’]のような名前でアクセスするほうが、わかりやすいですね。
そうだね。連想配列のほうが、値として入っているのが何なのか、わかりやすい場合が多いね。
でも、連想配列の場合、数値じゃなくて名前なので、繰り返し処理などで困りそうですね。
ちゃんと連想配列も順番に展開してくれる便利な仕組みがあったりするんだよ。とりあえず、連想配列の書き方を見てみよう!
実際に連想配列を書いてみよう
説明だけではわかりにくいかもしれませんので、実際に書いてみましょう。
まずは配列からです。
<?php
$price = array(“100円”, “300円”, “800円”);
echo $price[0];
配列では、上記のように、( )の中の 100円 を取り出したければ、echo で 0 を指定しましたね。
連想配列では、番号のかわりに好きな名前をつけてわかりやすく管理することができます。
ここでは、0,1,2,……のかわりに apple, orange, grape,……と名付けていくことにしましょう。すると、プログラムはこうなります。
$price = array(“apple” => “100円”, “orange” => “300円”, “grape” => “800円”);
=> は→ のような意味を持ち、apple は 100円 のラベルのようなイメージです。
そして、[ ]の中に 0 のかわりに apple と書くことで、100円 が取り出せます。
<?php
$price = array(“apple” => “100円”, “orange” => “300円”, “grape” => “800円”);
echo $price[“apple”];
?>
このように出力されました。
連想配列についての解説は以上です。配列と合わせて使ってみてください。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
foreach文で配列を呼び出す
foreach文を使うと、連想配列の中身に対して順に処理を行うことができます。たくさんのデータを一度に取得したい場合、一つ一つ出力していては大変なのでforeachで簡単に呼び出すことができます。
<?php
$fruit = array(“apple” => “100円”, “orange” => “300円”, “grape” => “800円”);
foreach($fruit as $key => $value){
echo “$key … $value \n”;
}
おわりに
以上、PHPで書く連想配列について解説しました。
PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法、PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。
foreach文で、連想配列でも順番に展開されてますね。これは便利!
添え字に数字が使われてる場合は([1])、その数字を増やしてあげればいいんだけど、連想配列の場合はforeach文で展開するのがいいね。
連想配列でも、var_dumpやprint_r関数などで、全ての値を展開することは出来るんですか?
出来るんだ。連想配列や配列はしっかり覚えておきたいね。
PHPを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。