PHPの演習問題
以下のプログラムを書いて実行してください。
( 1 ) 真偽を判定する
- 変数
$ageに任意の数値を代入します。 $ageが18以上であれば「成人です」と出力し、そうでなければ「未成年です」と出力するプログラムを書いてください。
( 2 ) 偶数か奇数か
- 変数
$numberに任意の数値を代入します。 $numberが偶数であれば「偶数です」と出力し、奇数であれば「奇数です」と出力するプログラムを書いてください。
( 3 ) 天気に応じたメッセージ
- 変数
$weatherに文字列(’晴れ’, ‘曇り’, ‘雨’)のいずれかを代入します。 $weatherの値に応じて、適切なメッセージを出力するプログラムを書いてください。例えば、「晴れ」なら「今日は晴天です!」と出力。
( 4 ) 成績の評価
- 変数
$scoreに0から100までの数値を代入します。 $scoreが80以上なら「優秀です!」、60以上80未満なら「良好です!」、それ未満なら「もっと頑張りましょう!」と出力するプログラムを書いてください。
( 5 ) 複数条件の組み合わせ
- 変数
$temperatureに温度(数値)、$weatherに天気(’晴れ’, ‘曇り’, ‘雨’)を代入します。 $temperatureが30度以上で$weatherが ‘晴れ’ の場合は「熱中症に注意!」、$temperatureが0度未満で$weatherが ‘雨’ の場合は「凍結の恐れあり!」と出力するプログラムを書いてください。
ポイント
変数の宣言と初期化 : PHPでは変数を使用する際、宣言と同時に初期化を行うのが一般的であり、$variableName = value;の形式で行います。例えば$a = 5;というコードは、変数$aを宣言し、同時に値 5 を代入することで初期化しています。
出力方法 : PHPでの出力には主に以下の方法があります。
echo: 文字列を出力する一般的な方法です。複数の値をカンマで区切って一度に出力することができます。実行速度が速いため、単純な文字列出力には echo がよく使われます。print: echo に似ていますが、一度に一つの文字列のみを出力します。また、print は式として扱われ、値(常に 1 )を返します。printf: 書式指定された文字列を出力します。変数の内容を特定のフォーマットで出力する場合に便利です。print_r: 変数の内容を読みやすい形式で出力します。配列やオブジェクトなど、複雑なデータ構造を出力する際に便利です。var_dump: print_r と同様に変数の情報を出力しますが、より詳細な情報 ( 型や長さなど ) を提供します。開発時のデバッグによく使用されます。
条件分岐 : 特定の条件に基づいて異なるコードブロックを実行するには主に以下の方法があります。
- if文 : 最も基本的な条件分岐です。指定された条件が真(true)であれば、コードブロックを実行します。偽 ( false ) の場合、コードブロックはスキップされます。
if (条件) {
// 条件が真の時に実行するコード
}Code language: JavaScript (javascript)
- else文 : if文に続けて使用し、if文の条件が偽の時に実行されるコードブロックを指定します。
if (条件) {
// 条件が真の時に実行するコード
} else {
// 条件が偽の時に実行するコード
}Code language: JavaScript (javascript)
- elseif文 : 複数の条件を順に評価する際に使用します。if文の条件が偽で、elseifの条件が真の場合に実行されます。
if (条件1) {
// 条件1が真の時に実行するコード
} elseif (条件2) {
// 条件1が偽で条件2が真の時に実行するコード
} else {
// すべての条件が偽の時に実行するコード
}Code language: PHP (php)
- switch文 : 一つの変数に対して多数の値を比較する場合に便利です。指定された変数の値に基づき、対応するcase節のコードブロックを実行します。
if (条件1) {
// 条件1が真の時に実行するコード
} elseif (条件2) {
// 条件1が偽で条件2が真の時に実行するコード
} else {
// すべての条件が偽の時に実行するコード
}Code language: PHP (php)解答と解説
( 1 ) 真偽を判定する
- 変数
$ageに任意の数値を代入します。 $ageが18以上であれば「成人です」と出力し、そうでなければ「未成年です」と出力するプログラムを書いてください。
if文を使って条件分岐を行います。$age >= 18 という条件で18歳以上かどうかを判断しています。
<?php
$age = 20; // ここに任意の年齢を代入
if ($age >= 18) {
echo "成人です";
} else {
echo "未成年です";
}
?>
Code language: HTML, XML (xml)( 2 ) 偶数か奇数か
- 変数
$numberに任意の数値を代入します。 $numberが偶数であれば「偶数です」と出力し、奇数であれば「奇数です」と出力するプログラムを書いてください。
%(剰余演算子)を使って数値が偶数か奇数かを判断しています。偶数の場合、数値を2で割った余りが0になります。
<?php
$number = 5; // ここに任意の数値を代入
if ($number % 2 == 0) {
echo "偶数です";
} else {
echo "奇数です";
}
?>
Code language: HTML, XML (xml)( 3 ) 天気に応じたメッセージ
- 変数
$weatherに文字列(’晴れ’, ‘曇り’, ‘雨’)のいずれかを代入します。 $weatherの値に応じて、適切なメッセージを出力するプログラムを書いてください。例えば、「晴れ」なら「今日は晴天です!」と出力。
このコードでは、switch文を使用しています。$weatherの値に応じて、異なるメッセージを出力するように設定されています。switch文は、特定の変数の値に基づいて複数の選択肢から実行するコードブロックを選択するために使います。case '晴れ'、case '曇り'、case '雨' はそれぞれの天気の条件に対応しており、該当する場合に特定のメッセージを出力します。どの条件にも当てはまらない場合には、default節が実行されます。
<?php
$weather = '晴れ'; // '晴れ', '曇り', '雨' のいずれかを代入
switch ($weather) {
case '晴れ':
echo "今日は晴天です!";
break;
case '曇り':
echo "今日は曇りですね。";
break;
case '雨':
echo "雨が降っています。傘を忘れずに!";
break;
default:
echo "未知の天気です。";
break;
}
?>
Code language: HTML, XML (xml)( 4 ) 成績の評価
- 変数
$scoreに0から100までの数値を代入します。 $scoreが80以上なら「優秀です!」、60以上80未満なら「良好です!」、それ未満なら「もっと頑張りましょう!」と出力するプログラムを書いてください。
このコードは$scoreの値に基づいて異なるメッセージを出力します。まず80以上かどうかをチェックし、次に60以上かどうかをチェックします。どちらの条件にも当てはまらない場合、最後のelseブロックが実行されます。
<?php
$score = 75; // ここに0から100までの数値を代入
if ($score >= 80) {
echo "優秀です!";
} elseif ($score >= 60) {
echo "良好です!";
} else {
echo "もっと頑張りましょう!";
}
?>
Code language: HTML, XML (xml)( 5 ) 複数条件の組み合わせ
- 変数
$temperatureに温度(数値)、$weatherに天気(’晴れ’, ‘曇り’, ‘雨’)を代入します。 $temperatureが30度以上で$weatherが ‘晴れ’ の場合は「熱中症に注意!」、$temperatureが0度未満で$weatherが ‘雨’ の場合は「凍結の恐れあり!」と出力するプログラムを書いてください。
ここでは&&(AND演算子)を使用して、2つの条件が同時に真であるかどうかをチェックしています。1つ目のif文は、温度が30度以上かつ天気が晴れの場合に警告を出力します。2つ目のelseif文は、温度が0度未満かつ天気が雨の場合に別の警告を出力します。
<?php
$temperature = 32; // 温度を代入
$weather = '晴れ'; // 天気を代入
if ($temperature >= 30 && $weather == '晴れ') {
echo "熱中症に注意!";
} elseif ($temperature < 0 && $weather == '雨') {
echo "凍結の恐れあり!";
}
?>
Code language: HTML, XML (xml)