chatGPTに記事を書いてもらってます
「条件分岐」ってなに?
プログラミングでは、**「もし〇〇なら〜する」**という判断をさせることがよくあります。
このような処理のことを「条件分岐(じょうけんぶんき)」といいます。
PHPでは「if(イフ)」というキーワードを使って書きます。
if文の基本形
<?php if (条件) { // 条件が「true(正しい)」なら実行される処理 } ?>
- if は 「もし」
- (条件) の中には 比較やチェックしたい内容を書きます
- { } の中には、条件が正しかったときに実行したいコードを書きます
- true(正しい)(読み:トゥルー), false(正しくない)(読み:フォルス)と言うのがあるのを覚えておきましょう
具体例を見てみよう!
<?php $age = 20; if ($age >= 18) { echo "大人ですね!"; } ?>
結果:大人ですね!
- $age >= 18 は「年齢が18以上なら」という意味です
- 条件が合っていれば、echo の中が表示されます
else を使って「それ以外」の場合も書ける!
<?php $age = 15; if ($age >= 18) { echo "大人ですね!"; } else { echo "まだ未成年ですね。"; } ?>
結果:まだ未成年ですね。
- else は 「それ以外なら」 という意味です
よく使う比較の記号(比較演算子)
記号 | 意味 | 例 | 結果 |
---|---|---|---|
== | 等しい | 5 == 5 | true |
!= | 等しくない | 5 != 3 | true |
> | より大きい | 10 > 5 | true |
< | より小さい | 3 < 7 | true |
>= | 以上 | 5 >= 5 | true |
<= | 以下 | 3 <= 5 | true |
else if を使えば、さらに細かく分けられる!
<?php $score = 75; if ($score >= 90) { echo "とてもよくできました!"; } else if ($score >= 60) { echo "がんばりました!"; } else { echo "もっと練習しましょう!"; } ?>
$score によって、メッセージが変わります!
=== というのもある
比較演算子:== と === の違いとは?
記号 | 意味 | 型も比較する? | 例 | 結果 |
---|---|---|---|---|
== | 値が等しい | いいえ | 5 == "5" | true |
=== | 値も型も等しい | はい | 5 === "5" | false |
!= | 値が等しくない | いいえ | 5 != "7" | true |
!== | 値または型が等しくない | はい | 5 !== "5" | true |
比較してみよう(実例)
補足: var_dump() は、変数の中身とデータの型を確認できる便利な関数です
==(値が等しいかどうか)
<?php var_dump(5 == "5"); // true(型が違っても値が同じなのでOK) ?>
true と表示されます(型の違いは無視)
===(値と型の両方が等しい)
<?php var_dump(5 === "5"); // false(数値と文字列は違う型) ?>
false になります(型が違うため)
!=(値が等しくない)
<?php var_dump(5 != "7"); // true(値が違うのでOK) ?>
false
!==(値または型が違う)
<?php var_dump(5 !== "5"); // true(型が違うので true) ?>
true
どっちを使えばいいの?
シチュエーション | おすすめの演算子 |
---|---|
型は気にせず、値だけ比較したいとき | == または != |
型までしっかりチェックしたいとき | === または !== |
注意
PHP8では == の比較仕様が改善されて以前よりも予測しやすくなりましたが、やはり「型の違い」で思わぬバグが起こる可能性は残っています。
そのため、なるべく ===(厳密な比較)を使うのが安心です!
(PHP7の試験ではPHP8ではないのでその辺で間違いが起きそうですね(´・ω・`))
おまけ:条件に使える関数もあるよ!
<?php $name = "たろう"; if (!empty($name)) { echo "名前が入力されています"; } else { echo "名前が空っぽです"; } ?>
- empty() は「中身が空かどうか」を調べる関数です
- ! は「ではない」という意味(empty じゃない → 入力されている)
まとめ
キーワード | 意味 |
---|---|
if | もし〜なら |
else | それ以外なら |
else if | 他の条件も試してみる |
比較演算子 | ==, !=, >=, など |
{ } | 条件が合ったときの処理を書く場所 |
次回
次回は、**「繰り返し(ループ)」**について学びます!
「同じ処理を何度もしたいときに便利な文法」です。お楽しみに!