読者です 読者をやめる 読者になる 読者になる

Webデザインの勉強 ハロートレーニング 受講生のためのWebデザインの勉強補足ブログ

条件によって表示内容を変える

条件分岐が必要な場合

  • そもそも、想定外の値が代入された時のことが想定されていません
<?php
define ( 'HEISEI', 1989 );
$year = 1900;
$msg = '西暦' . $year . '年は、平成';
$msg .= ( $year - HEISEI + 1 ) . '年です。';

echo $msg;


一定条件を満たす(西暦として妥当な数値)条件を考えます
  • 「平成」がtrueであった場合
  • 「昭和」がtrueであった場合
  • その他「昭和以前」
<?php
define ( 'HEISEI', 1989 );
define ( 'SHOWA', 1926 );
$year = 1980;

if ( $year >= HEISEI ) {
  $msg  = '平成';
  $msg .= $year - HEISEI + 1 . '';
} else if ( $year >= SHOWA ) {
  $msg  = '昭和';
  $msg .= $year - SHOWA + 1 . '';
} else {
  $msg  = '昭和以前';
}

$msg = '西暦' . $year . '年は、' . $msg. 'です。';

echo $msg;
if文を使った条件文
  • 条件を Yes/No で判断させる仕組み
  • Yes(条件に一致)は、TRUE
  • No(条件に一致しない)は、FALSE
  • TRUE / FALSE は、PHPによる定義済みの定数
if ( ( $year >= 1989 ) == TRUE) )


のように書かかなくても、条件に一致したときの処理が実行されます。

条件文を作るときのポイント
  • 条件に一致させる/一致させないは、その並び順がポイントです
  • プログラムは先頭から順番に処理されていきます(インタープリーター interpreter
  • 「else if」で別の条件を追加するときに、最初の条件を満たしていない範囲から条件を絞ったつもりでも、前に記述された条件に一致してしまうこともあります