PHPで連想配列を使う方法【初心者向け】

PHPで【連想配列】を使う方法をプログラミング初心者向けに解説した記事です。連想配列では、配列を、番号のかわりに名前をつけて管理することができます。そのため、データを入れたあとの扱いをわかりやすくすることが可能です。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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円

配列では、上記のように、(  )の中の 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”];
?>

 

このように出力されました。

100円

連想配列についての解説は以上です。配列と合わせて使ってみてください。

 

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

foreach文で配列を呼び出す

foreach文を使うと、連想配列の中身に対して順に処理を行うことができます。たくさんのデータを一度に取得したい場合、一つ一つ出力していては大変なのでforeachで簡単に呼び出すことができます。

<? php
$fruit = array(“apple” => “100円”, “orange” => “300円”, “grape” => “800円”);

foreach($fruit as $key => $value){
echo “$key…$value\n”;
}
?>

スクリーンショット 2016-05-27 17.21.42

おわりに

以上、PHPで書く連想配列について解説しました。

PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。

 

大石ゆかり

foreach文で、連想配列でも順番に展開されてますね。これは便利!

田島悠介

添え字に数字が使われてる場合は([1])、その数字を増やしてあげればいいんだけど、連想配列の場合はforeach文で展開するのがいいね。

大石ゆかり

連想配列でも、var_dumpやprint_r関数などで、全ての値を展開することは出来るんですか?

田島悠介

出来るんだ。連想配列や配列はしっかり覚えておきたいね。

 

PHPを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。