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" が印刷されます。
チャレンジ
簡単入力から2つの整数を読み取ってください:temperature と hour(24時間形式、0-23)。
以下の条件に基づいて適切なメッセージを決定してください:
- 温度が0未満の場合、
Freezing conditionsを出力します - そうでなく、温度が15未満の場合、
Cold weatherを出力します - そうでなく、温度が25未満の場合、
Pleasant weatherを出力します - そうでなければ、
Hot weatherを出力します
次に、新しい行で、時間に基づいた挨拶を出力してください:
- 時間が12未満の場合、
Good morning!を出力します - そうでなく、時間が18未満の場合、
Good afternoon!を出力します - そうでなければ、
Good evening!を出力します
例:
入力が 20 と 9 の場合、出力は次のようになります:
Pleasant weather
Good morning!入力が -5 と 14 の場合、出力は次のようになります:
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: 下記にコードを記述してください
// 温度に基づいて天気メッセージを決定する
// 時間に基づいて挨拶を決定する
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators