If - Else
CoddyのPHPジャーニー「基礎」セクションの一部 — レッスン 29/71。
条件が真(true)のときにコードに一つのことをさせ、偽(false)のときに異なることをさせたい場合があります。else 節を使うと、両方のケースを処理できます。
ifブロックの後にelseを追加して、条件が偽(false)の場合に何が起こるかを指定します:
<?php
$age = 15;
if ($age >= 18) {
echo "You can vote";
} else {
echo "You cannot vote yet";
}
?>$ageは15なので、条件は偽(false)です。そのため、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!自分で試してみよう
<?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