【1-4】重要部分だけ抜粋!if文の書き方

if文とは?

if文

もし〇〇だったら、これをする

そうじゃなかったら、こっちをする

簡単に言うとこれの事ですね。

具体例

もし雨が降っていたら、傘を持っていく。

降っていなかったら、傘は持っていかない。

if文は、ひたすらこれをやるだけです。

演算子について

具体的にif文を書いていく前に、演算子について知っておくと理解しやすいです。

「演算子」と聞くと何やら難しそうですが、

算数とかで出てくる「<, >, <=」とかの記号とほぼ同じ意味です。

等しい意味のイコール(===)は3つ使う!

「テストの点数($score)が100点ならOK!」

これをプログラミングの条件式で表すとこうなります。

$socre === 100

PHPではイコールを表すとき、===と3つ使います。
(イコールが一つだったら、$scoreの変数に100定義したことになってしまいますよね)

数値の比較

「テストの点数($score)が70点以上ならOK!」

これをプログラミングの条件式で表すとこうなります。

$socre >= 70

$scoreと70という数字を比べて、$scoreの中に入っている数値の方が大きい
と言う条件ですね。

ちなみに、「以上」と言うのは「その数を含む」と言う意味なので「=」が必要になります。
つまり、

$socre > 70

このように書いた場合、70は含まないので70点の人は不合格になります。

if文の書き方

基本形

ifは英語で「もし〜なら」と言う意味です。

$scoreが100点かどうか判定するコードは次のようになります。

<?php
    $score = 100;
    if($score === 100) {
        echo '100点です!';
    }
?>

$score100が一致したら「100点です!」と出力されるif文です。

  1. 後で$score100を比べるので、先に$score100を入れておきます
  2. まずif()と書く
  3. ()の中には条件を書く→今回だと条件は「$scoreが100と一致すること」
  4. ③の条件が正しければ、「{}」の中に入る
  5. {}の中には処理を書く今回だと処理は「100点です!」と表示させたい
  6. つまり、③で作った条件が正しい時だけ処理が実行される

否定系

否定の場合は「===」!==先頭にビックリマークをつけます。

<?php
    $score = 100;
    if($score !== 100) {
        echo '100点です!';
    }
?>

$scoreが100でなければ、OK。

{}の中の処理に入ります。

else

それ以外の全てを意味する「else」というものがあります。

先ほどのコードに「else」の処理を追加すると、こんな感じです。

<?php
    $score = 100;
    if($score === 100) {
        echo '100点です!';
    } else {
        echo '残念...';
    }
?>

$scoreが100以外全て(10, 25, 99など…)の場合、「残念…」と出力される

よくあるif文のパターン

実際によく使うif文の書き方を紹介しておきます。

偶数か奇数の判定

<?php
    $score = 100;
    if($score % 2 === 0) {
        echo '偶数です';
    } else {
        echo '奇数です';
    }
?>

%を使うと割った余りを求めることができます。

100を2で割った結果、50余り0となるので、余りは0です。

「$score % 2 === 0」は、まさにその事を言っています。

余りが0ということは、つまり偶数ということになります。

年齢が20代かどうかの判定

<?php
    $age = 10;
    if($age >= 20 && $age < 30) {
        echo '20代です';
    } else {
        echo '20代ではありません';
    }
?>

「年齢が20代かどうか」これを言い換えると、

$ageが20〜29の間であること

$ageは20以上かつ$ageと30を比べたら30の方が大きい

$age >= 20 && $age < 30

(〇〇かつ△△の「かつ」にあたる部分は「&&」で表現します)

練習問題

問題

<問題1>

次の条件で出力結果が「合格」となるように書いてください。

変数score:80
条件:$scoreが70以上なら「合格」。それ以外は「不合格」が出力されること
出力結果:「合格」

<問題2>

次の条件で出力結果が「ログイン成功です」となるように書いてください。

変数name: テスト太郎
変数password:test123
条件:$nameが「テスト太郎」かつ、$passwordが「test123」と一致した場合「ログイン成功です」と出力される。それ以外は「ログインできませんでした」が出力されること
出力:「ログイン成功です」

回答

<回答1>

<?php
    $socre = 80;

    if($score >= 70) {
        echo '合格';
    } else {
        echo '不合格';
    }

?>

<回答2>

<?php
    $name = 'テスト太郎';
    $password = 'test123';

    if($name === 'テスト太郎' && $password === 'test123') {
        echo 'ログイン成功です';
    } else {
        echo 'ログインできませんでした';
    }
?>

まとめ

  • if(条件) {処理}
  • 条件が正しい時だけ、処理が実行される
  • else:それ以外の全て
  • イコールを表すときは「===」と3つ使う
  • %」を使うと余りを求められる
  • 複数条件を使うときは「&&」で繋ぐ

created by Rinker
¥2,970 (2024/05/17 11:37:59時点 楽天市場調べ-詳細)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA