こんにちは、さるまりんです。
On to PHP、続きを進めていきます。
前回は、多次元配列を見ました。
配列の中に、さらに配列が入っている形でした。
今回は、
「for / foreach ってなに?」
です。
くり返し処理ってなに?
配列を扱っていると、こんなことをしたくなります。
- 配列の中身を順番に見たい
- 全部まとめて表示したい
- 同じ処理を何度もしたい
上から順にひとつずつ手で書くのは大変ですよね。
そこで出てくるのが、
くり返し処理
です。
for 文ってなに?
for 文は、
「何回くり返すか」が決まっているとき
に使います。
例です。
for ($i = 0; $i < 3; $i++) {
print $i;
}
このコードでは、
$iは 0 から始まり- 3 より小さい間
- 1 ずつ増えながら
処理がくり返されます。
結果は、
012
となります。
予め何回繰り返すかわかっている時に、
「回数を数えながらくり返す」
と思っておけば大丈夫です。
foreach 文ってなに?
配列を扱うときに、
とてもよく使われるのが foreach です。
こちらは配列の中身を、
ひとつずつ順番に取り出す
ための書き方です。
$animals = ['さる', 'しか', 'いのしし'];
foreach ($animals as $animal) {
print $animal;
}
これで、
さる
しか
いのしし
と前から順番に表示されます。
foreach は何がいいの?
foreach の良いところは、
- 配列にいくつ要素が入っているのか気にしなくていい
- インデックスを意識しなくていい
- 読みやすい
ところです。
「配列の中身を順番に使いたい」
そんなときは、まず foreach を思い出すと良いです。
さっきの for は予め繰り返しの回数が決まっているときに使いました。
こちらはわかっていなくても使えるという点で異なります。
多次元配列と foreach
前回の多次元配列も、foreach で扱えます。
$animals = [
'さる' => ['place' => '箕面山'],
'しか' => ['place' => '若草山'],
];
foreach ($animals as $name => $info) {
print $name . ' ' . $info['place'];
}
これで
さる 箕面山
しか 若草山
と順に表示されます。
少しずつですが、
Webアプリでよく見る形
に近づいてきましたね。
for と foreach、どう使い分ける?
簡単にまとめると、
- 回数が決まっている → for
- 配列を順番に処理したい → foreach
最初は、
配列には foreach
と覚えておいても大丈夫です。
(それくらい foreach と配列は相性がいいです)
少しずつ、道具が増えてきました
配列を作って、
くり返して処理できるようになると、
できることが一気に増えます。
次は、
条件によって処理を変える方法
を見ていたいと思います。
読んでくださってありがとうございました。
それでは、また!