#6 PHPで学ぶループの基本
PHPのループは、C言語系の言語に共通する標準的な書き方が基本です。この記事では、PHPにおけるループの基本を解説します。
for文の基本
for ($i = 0; $i < 5; $i++) {
echo $i;
}
`$i = 0`が初期値、`$i < 5`が続行条件、`$i++`が毎回の処理後に行う更新式です。この3つをまとめて1行で書けるのが`for`文の特徴で、「回数が決まっている繰り返し」でよく使われます。
foreachで配列の中身を処理する
配列の中身を1つずつ処理したい場合は、`foreach`を使います。
$fruits = ["りんご", "みかん", "ぶどう"];
foreach ($fruits as $fruit) {
echo $fruit;
}
PHPの`foreach`は、値だけでなく「キーと値」の両方を同時に取り出すこともできます。
foreach ($fruits as $index => $fruit) {
echo $index . ": " . $fruit;
}
while文
$count = 0;
while ($count < 5) {
echo $count;
$count++;
}
`while`は「条件を満たす間、繰り返す」という書き方で、繰り返す回数があらかじめ決まっていない処理に向いています。似た構文に`do-while`もあり、こちらは最低1回は必ず処理を実行してから条件を確認する点が異なります。
ループを途中で抜ける・スキップする
foreach ($fruits as $fruit) {
if ($fruit === "みかん") {
continue;
}
if ($fruit === "ぶどう") {
break;
}
echo $fruit;
}
`continue`はその回の処理だけをスキップして次の繰り返しに進み、`break`はループ自体をそこで終了させます。どちらも条件分岐と組み合わせて使うのが一般的です。ループが二重・三重に入れ子になっている場合、`break`や`continue`は原則として自分が書かれている一番内側のループにしか効かない点にも注意しましょう。外側のループごと抜けたい場合は、抜けたことを示すフラグ変数を用意するか、処理自体を関数として切り出し、`return`で一気に抜ける設計にするのが分かりやすい方法です。
PHPならではの注意点
`foreach`でキーと値を同時に取り出す書き方は、連想配列(名前と値の組み合わせでデータを持つ配列)を扱う際によく使われます。単純な配列だけでなく、こうしたデータ構造でも`foreach`が活躍する場面が多いことを覚えておきましょう。また、`foreach`でループ中の値を変更したい場合は、`as &$fruit`のように参照渡しを使う必要がある点にも注意が必要です。参照渡しを使った後は、意図しない副作用を防ぐために`unset($fruit)`で参照を解除しておくのが安全です。
まとめ
PHPのループは`for`・`while`・`foreach`が基本です。`foreach`でキーと値を同時に扱えること、`continue`・`break`によるループ制御もあわせて押さえておきましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
PHPをもっと学びたい方には「10日でおぼえるPHP入門教室 第4版」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿