いま 12時何分かだから 昼ですね。
こういった条件判断は次のように書きます。
<p>いま
<?php
$h = date("H");
echo $h;
?>
時何分かだから
<?php
if ($h < 10)
echo "朝";
elseif ($h < 16)
echo "昼";
else
echo "夜";
?>
ですね。</p>
if は「もしも……」,
elseif は「そうでくて,もしも……」
else は「そうでなければ……」
という意味です。
C や C++ や JavaScript では else if,Perl や Ruby では elsif
と綴りますが,PHP では elseif です。
もっとも,PHP では else if と書いても同じ動作をします。
単に「朝」「昼」などと出すのはおもしろくないので,メッセージを変えてみましょう。
<p>
<?php
$h = date("H");
if ($h < 10)
echo "おはよー";
elseif ($h < 16)
echo "こんちは";
else
echo "こんばんは";
?>
</p>
さらには画像も加えてみましょう。
<p>
<?php
$h = date("H");
if ($h < 10)
echo '<img src="asa.jpg" alt="朝" /> おはよー';
elseif ($h < 16)
echo '<img src="hiru.jpg" alt="昼" /> こんちは';
else
echo '<img src="yoru.jpg" alt="夜" /> こんばんは';
?>
</p>
21世紀まであと何時間何分何秒かを表示し, 21世紀に突入したら「21世紀になりました!」と表示を変えるには次のようにします。
<p>
<?php
$s = mktime(0,0,0,1,1,2001) - time();
if ($s > 0) {
$h = (int)($s / 3600);
$m = (int)(($s % 3600) / 60);
$s = $s % 60;
echo "21世紀まであと $h 時間 $m 分 $s 秒";
} else {
echo "21世紀になりました!";
}
?>
</p>
mktime(時, 分, 秒, 月, 日, 年) は1970年元旦からの秒数を求めます。
(int) は小数点以下を切り捨てて整数に直すことを意味します。
/ は割り算,
% は剰余(割った余り)です。
Last modified: 2007-05-20 20:46:39