【PHP/演習問題】関数(function)[2]

【PHP/演習問題】関数(function)[2]

問題

時間(0~23)に応じてあいさつ文を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。

  • あいさつ文は朝、昼、夜の3種類とする。
  • あいさつ文と対応する時間は表の通り
  • 各種あいさつ文を出力する関数を定義する
  • あいさつ文は関数を使って出力する
  • 時間は標準入力で入力(0~23)する
種類 時間 挨拶文
0~11 Good morning!
It’s a nice weather.
12~17 Good afternoon!
It’s a nice breeze.
18~23 Good evening!
The moon is beautiful.
$ php practice.php
HOUR > 9
Good morning!
It's a nice weather.
$ php practice.php
HOUR > 13
Good afternoon!
It's a nice breeze.
$ php practice.php
HOUR > 21
Good evening!
The moon is beautiful.
$ php practice.php
HOUR > 99
Please enter from 0 to 23.
$ php practice.php
HOUR > -1
Please enter from 0 to 23.

解答例

<?php

function morning() {
    echo "Good morning!\n";
    echo "It's a nice weather.\n";
}

function afternoon() {
    echo "Good afternoon!\n";
    echo "It's a nice breeze.\n";
}

function evening() {
    echo "Good evening!\n";
    echo "The moon is beautiful.\n";
}

echo 'HOUR > ';
$input = trim(fgets(STDIN));

if( 0 <= $input && $input <= 11 ) {
    morning();
} else if( 12 <= $input && $input <= 17 ) {
    afternoon();
} else if( 18 <= $input && $input <= 23 ) {
    evening();
} else {
    echo "Please enter from 0 to 23.\n";
}

?>