ifとmatchでスクリプトに反応させ、for、foreach、whileで動作を繰り返しましょう。
このレッスンを Kodokon で開く条件は、スクリプトに進む道を選ばせます。「これが真ならあれをして、そうでなければ別のことをする」というふうにです。ifキーワードは、trueかfalseに評価される式を、比較演算子を使ってテストします。>(より大きい)、<(より小さい)、>=、<=、===(等しい、同じ値かつ同じ型)、!==(異なる)です。elseifは前のテストが失敗したときに別のテストを加え、elseはどのテストも成功しなかったときに実行されます。テストは上から下へ読まれ、最初に真になったものが勝ちます。
<?php
$temperature = 12;
if ($temperature > 25) {
echo "It's hot.";
} elseif ($temperature > 15) {
echo "It's mild.";
} else {
echo "Grab a jacket!";
}同じ変数をいくつかの特定の値と比べるときは、match式のほうがエレガントです。変数をそれぞれのケースと比較し(値と型による厳密な比較)、直接値を返します。その値は変数に保存できます。defaultケースは、どの値も一致しないときの安全網の役割を果たします。
<?php
$day = "saturday";
$message = match ($day) {
"saturday", "sunday" => "It's the weekend!",
"monday" => "Hang in there, back to work.",
default => "Have a good weekday.",
};
echo $message;ループは、コードをコピー&ペーストせずに、命令のブロックを何度も繰り返します。forループは、繰り返す回数が事前にわかっているときに理想的です。セミコロンで区切られた三つの部分に分けて読みます。開始($i = 1)、継続の条件($i <= 5、これが真である限り続きます)、そしてステップ($i++、各回で$iに1を足します)です。
<?php
for ($i = 1; $i <= 5; $i++) {
echo "Round number {$i}<br>";
}あと二つのループが道具箱を完成させます。foreachは配列(値のリスト。次のレッスンで扱います)をたどり、各要素を一つずつ手渡します。whileは条件が真であり続ける限りブロックを繰り返します。最終的に止まるように、ループの中で状況を変えるのはあなた次第です。
<?php
$fruits = ["apple", "pear", "kiwi"];
foreach ($fruits as $fruit) {
echo "Fruit: {$fruit}<br>";
}
$countdown = 3;
while ($countdown > 0) {
echo "{$countdown}...<br>";
$countdown--;
}
echo "Go!";elseブロックはいつ実行されますか?matchをifと区別するものの一つは何ですか?whileの条件が永遠に真のままだとどうなりますか?