Menu
Coddy logo textTech

If - Else

CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 29/71。

時には、条件が true の場合にコードで1つのことを行い、false の場合に異なることを行う必要があります。else 句により、両方のケースを扱うことができます。

if ブロックの後に else を追加して、条件が偽の場合に何が起こるかを指定します:

<?php
$age = 15;

if ($age >= 18) {
    echo "You can vote";
} else {
    echo "You cannot vote yet";
}
?>

$age が 15 であるため、条件は偽となり、PHP は else ブロックを実行して "You cannot vote yet" と出力します。

2つ以上の可能性がある場合、elseifを使用して条件を連鎖させます:

<?php
$score = 75;

if ($score >= 90) {
    echo "Grade: A";
} elseif ($score >= 80) {
    echo "Grade: B";
} elseif ($score >= 70) {
    echo "Grade: C";
} else {
    echo "Grade: F";
}
?>

PHP は条件を上から順にチェックし、最初に一致したブロックを実行します。一度一致が見つかると、残りの条件をすべてスキップします。ここでは、75 が最初の2つのチェックに失敗しますが、$score >= 70 に合格するため、"Grade: C" が印刷されます。

challenge icon

チャレンジ

簡単

入力から2つの整数を読み取ってください:temperaturehour(24時間形式、0-23)。

以下の条件に基づいて適切なメッセージを決定してください:

  • 温度が0未満の場合、Freezing conditions を出力します
  • そうでなく、温度が15未満の場合、Cold weather を出力します
  • そうでなく、温度が25未満の場合、Pleasant weather を出力します
  • そうでなければ、Hot weather を出力します

次に、新しい行で、時間に基づいた挨拶を出力してください:

  • 時間が12未満の場合、Good morning! を出力します
  • そうでなく、時間が18未満の場合、Good afternoon! を出力します
  • そうでなければ、Good evening! を出力します

例:

入力が 209 の場合、出力は次のようになります:

Pleasant weather
Good morning!

入力が -514 の場合、出力は次のようになります:

Freezing conditions
Good afternoon!

チートシート

else 句は、if 条件が false の場合に何が起こるかを指定します:

<?php
$age = 15;

if ($age >= 18) {
    echo "You can vote";
} else {
    echo "You cannot vote yet";
}
?>

elseif を使用して複数の条件を連鎖させます:

<?php
$score = 75;

if ($score >= 90) {
    echo "Grade: A";
} elseif ($score >= 80) {
    echo "Grade: B";
} elseif ($score >= 70) {
    echo "Grade: C";
} else {
    echo "Grade: F";
}
?>

PHP は条件を上から下へチェックし、最初に一致したブロックを実行してから残りをスキップします。

自分で試してみよう

<?php
// 入力を読み取る
$temperature = intval(fgets(STDIN));
$hour = intval(fgets(STDIN));

// TODO: 下記にコードを記述してください
// 温度に基づいて天気メッセージを決定する

// 時間に基づいて挨拶を決定する

?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン