基本をしっかり学ぼう!

2009年3月12日(木)
須田 超一

連想配列

 第2回では、PHPを扱うために最低限知っておかないといけない項目を扱います。本記事を読み終えると、プログラムの細部がどうなっているのか分かってきます。

 まずは、連想配列から解説しましょう。連想配列は、「配列」という名前がついているくらいなので、配列です。

 配列との違いは、添え字に英数字が使えるというところです。前回の復習になりますが、配列は、変数名に数字の添え字が付きます。

 例えば、$flower[0]、$flower[1]、$flower[2]・・・といった形式になります。また、連想配列は、添え字にJapan、Chinaといった英数字を使うことができます。

$capital["Japan"], $capital["China"], $capital["Korea"]・・・・

 また、連想配列のことを「ハッシュ」と呼ぶ場合も多いので覚えておきましょう。

 連想配列に値を入れる時は、配列の説明の時と同じように2通りの方法があります。

 1つ目は下記のようにイコールを使って代入する方法です。

$capital["Japan"] = "東京";
$capital["China"] = "北京";
$capital["Korea"] = "ソウル";

 連想配列の添え字(Japan、Chinaなど)は、キーと言い、東京、北京、ソウルは値となります。

 もう1つはarray関数を使う方法です。

$capital = array("Japan" = > "東京", "China" => "北京", "Korea" => "ソウル");

 array関数の中に、連想配列の「キー」と「値」を「=>」を使ってつなげ、配列を作っていきます。連想配列へ値を代入する方法は、これら2つの方法がありますが、表現形式が違うだけで、内容は同じです。

for文

 for文は、繰り返し処理に使われる制御文です。プログラムには、同じ事の繰り返しを、簡潔に表示する仕組みがあります。例えば、$flowerの中のデータを表示させたい場合は、下記のように書きます。

echo $flower[0];

 下記のように繰り返し記述することもできます。

$flower = array("ひまわり","チューリップ","バラ");
echo $flower[0];
echo $flower[1];
echo $flower[2];


 表示する数が少なければ問題ないのですが、出力する数が100個、200個という数になると、単純なecho文の繰り返しでは厳しくなってきます。

 そんな時に用意されているのが、for文です。先ほどと同じ事をfor文を使って記述してみたものが下記になります。

$flower = array("ひまわり","チューリップ","バラ");
for ($k=0; $k   echo $flower[$k];
}

 for文は、下記のような形式で書きます。

for (式1; 式2; 式3) {
  //繰り返し処理したい項目
}

 for文の処理の流れを分かりやすくしたものが図1です。図1の式1はfor文が開始するときに一度だけ評価されます。この場合、$k=0が評価されることになるので、$kに0(ゼロ)が代入されます。

 次に、for文の中の処理に入る前に、式2が評価されます。式2が正しければ(trueと表現します)、繰り返し処理が実行されます。式2では、$k
 繰り返し処理の各回が終わると、式3が評価されます。$k++は、$kに1を足すという意味です。

 このようにして、式2が評価され、trueなら、繰り返し処理が実行され、次に式3が評価され($kが1多くなる)、また式2が評価され、trueならまた繰り返し処理を継続します。

 $kが2になるまで繰り返し処理が実行されて、$kが3になった段階で、式2の条件($k

株式会社ITコア R&Dグループリーダー/有限会社グローバルイーネットワーク 代表取締役

有限会社グローバルイーネットワーク代表取締役。ITコアでは、クラウドサービスやオープンソースの研究開発に従事。株式会社東芝で半導体メモリの開発やシステム開発を経験後、南カリフォルニア大学やボンド大学のビジネススクールで経営学を学びMBA取得。
ITと経営戦略を武器にして、多方面で事業活動を展開中。 2011年は、バルーンアート事業を立ち上げます。デジタルハリウッド講師(PHP/Ajax)。 アメブロはこちら

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています