ITHACK
~ みんなのIT部門 ~

【PHP】if文(条件分岐) – 条件による処理の分岐

プログラミングでは条件分岐を使うことで、条件に応じて処理を分岐することができます。

ここでは条件分岐のif文について解説します。

なお、論理式、比較演算子、論理演算子についてご存知でない方は先に次の記事をご覧ください。

  • 条件分岐

  • if文

条件分岐とは

条件分岐とは、条件に応じて処理を分岐することです。

if文

if文はプログラムで条件分岐するための仕組みです。

基本構文

if文の基本構文は次のようになります。

if( 条件値 ) {
    // 論理値が真(true)の場合に実行する処理
}

条件値は論理値(trueかfalse)になります。
最終的に論理値となれば良いので論理式で記述することができ、一般的には条件式と呼ばれることが多くあります。

そして、条件値が真の場合のみ、実行したい処理を波括弧{}の中に記述します。

サンプルコード

お店の会計で1000円以上購入した場合、5%OFFになるプログラムのサンプルコードをご覧ください。

<?php

// 会計金額
$price = 1200;

// 1,000円以上の場合は5%OFF
if( $price >= 1000 ) {
    $price = $price * 0.95;
}

// お会計金額の出力
echo 'お会計は'.$price."円になります。\n"

?>
お会計は1140円になります。

if文の条件式で$priceが1,000円以上であるかを判定しています。
サンプルコードでは$priceが1200なので、if文の条件式はtrueとなり、波括弧内の処理が実行されます。
5%OFFにする処理が実行され、実行結果の通り$priceは1140となります。

演習問題

問題1

お店のお会計で割引を適用するプログラムを作成してください。
なお、下記の条件を満たすものとします。

  • 合計金額は『単価×個数』で計算する
  • 単価は150円とする
  • 個数はコマンドライン引数で与える
  • 割引は個数が5個以上の場合、合計金額から10%OFF
$ php practice.php 8
割引金額         : 120円
合計金額(割引前) : 1200円
合計金額(割引後) : 1080円

問題2

お店のお会計で割引を適用するプログラムを作成してください。
なお、下記の条件を満たすものとします。

  • 合計金額は『単価×個数』で計算する
  • 単価と個数はコマンドライン引数で与える(単価、個数の順)
  • 割引は個数が5個以上かつ合計金額が10,000円以上の場合、合計金額から15%OFF
$ php practice.php 3000 5
割引金額         : 2250円
合計金額(割引前) : 15000円
合計金額(割引後) : 12750円

まとめ

if文は条件に応じて処理を分岐させる仕組みです。
基礎的な知識になりますので、覚えておきましょう。