📁 作成ファイル・保存場所
XAMPPがインストールされているhtdocs フォルダに以下のファイルを作成してください。
| ファイル名 | 内容 |
|---|---|
| htdocs/php-basic/03.php | PHPとHTML |
- XAMPP(Apacheが起動していること)
- XAMPPがインストールされているhtdocs フォルダに内に作成されていること
目的
- if / else による条件分岐を理解する
- 条件に応じて画面に異なる内容を出力できるようになる
- switch文・三項演算子を知る
チェックポイント
- if文で「条件に応じた処理」が書けているか?
- 複数条件のときにelseifを使えているか?
- switch文に適した場面がわかるか?
- 三項演算子の省略記法を理解できたか?
条件分岐 if文やswitch文
if文とは?
if文は「条件に応じて処理を変える」ための基本構文です。
指定した条件が真(true)の場合にのみ、その中の処理を実行します。
if (条件) {
// 条件がtrueのとき実行する処理
} elseif (別の条件) {
// 別の条件がtrueのときの処理
} else {
// どの条件にも当てはまらなかったときの処理
}
switch文とは?
switch文は、複数の選択肢(分岐)があるときに使える構文です。if...else if...elseの代わりとして、特定の値に応じて処理を振り分けたいときに便利です。
switch (評価する値) {
case 値1:
// 値1に一致したときの処理
break;
case 値2:
// 値2に一致したときの処理
break;
default:
// どのcaseにも一致しないときの処理
}
サンプルコード
<?php
$signal = 'yellow';
switch ($signal) {
case 'red':
echo '止まれ';
break;
case 'yellow':
echo '注意して進め';
break;
case 'green':
echo '進め';
break;
default:
echo '信号無視です';
}
?>
$signalの値が'yellow'なので「注意して進め」が表示されます。- 各
caseのあとにbreakを入れることで、処理が終わったら分岐から抜けます。 defaultはどのcaseにも当てはまらなかったときの処理です。
break を忘れるとどうなる?
break を書き忘れると、そのまま次の case に処理が流れてしまいます(これを「フォールスルー(fall through)」と呼びます)。たとえば case 'yellow': に該当したあとに break; がないと、その下の case 'red': まで実行されてしまい、意図しないメッセージが表示されることがあります。
case 'yellow': echo '注意して進め'; // break がないと下の case も実行される! case 'red': echo '止まってください';
このようなミスを防ぐためにも、各 case の末尾には必ず break; を入れるのが基本です。※ 例外的に、あえて break を書かず「複数の条件をまとめて同じ処理にする」テクニックもありますが、最初のうちは避けたほうが安全です。
三項演算子(条件演算子)とは?
条件によって、値や処理を一行で分けたいときに使う、省略形のif文です。
条件式 ? 真のときの値 : 偽のときの値;
サンプルコード
<?php $age = 20; $message = ($age >= 18) ? '大人です' : '未成年です'; echo $message; ?>
$age >= 18がtrueなので、$messageには'大人です'が代入されます。- 簡単な条件分岐を1行で書きたいときに便利です。
- 読みにくくなる場合は、通常の
if文を使いましょう。
PHP基礎トレーニング
<?php
// 0〜100 の乱数をスコアとして生成
$score = mt_rand(0, 100);
$message = '';
// 条件分岐による判定
if ($score >= 80) {
$message = '合格です!';
} elseif ($score >= 60) {
$message = 'もう少しで合格です';
} else {
$message = '不合格です…';
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP if文の練習</title>
</head>
<body>
<h1>スコア判定</h1>
<p>スコア:<?php echo $score; ?> 点</p>
<p>判定結果:<?php echo $message; ?></p>
</body>
</html>
mt_rand()関数
mt_rand()は乱数を発生させる関数です。mt_rand() によって 0〜100 の中からランダムに選ばれた「スコア(点数)」を格納しています。リロードするたびに変わります。
$message = ”;
判定結果(例:合格・不合格など)を入れるための「空の変数」です。最初に空文字(”)で初期化しておき、あとで if文 によって中身が代入されます。未定義の変数を使うと「Notice(注意)」という警告が出ることがあり、予期しない動作の原因になります。そのため、事前に $message = ''; として初期化しておくことが推奨されます。
表示確認の手順
下記のコード入力が終わったら、以下の手順で動作を確認してみましょう。
- XAMPP を起動
「Apache」が起動していることを確認します。 - ブラウザを開く
Google Chrome など、普段使っているブラウザを開きます。 - アドレスバーに入力
次のURLを直接入力して Enter を押します
http://localhost/php-basic/
- 01.php をクリック
フォルダ一覧の中に「02.php」というファイル名が見えたら、それをクリックしてください。 - ページが表示されれば成功!
「PHP基礎学習のスタートです」や「ウェブトレーニングで頑張りましょう」などの文字が表示されていれば、PHPが正しく動いています。
PHP応用トレーニング
<?php
// 0(日)〜6(土)までの数値を取得
$day = date('w'); // 例:0なら日曜、1なら月曜…
$message = '';
switch ($day) {
case 0:
$message = '今日は日曜日です。ゆっくり休みましょう。';
break;
case 1:
$message = '月曜日、今週もがんばろう!';
break;
case 2:
$message = '火曜日です。';
break;
case 3:
$message = '水曜日です。週の真ん中!';
break;
case 4:
$message = '木曜日、あと少しで週末!';
break;
case 5:
$message = '金曜日、ラストスパート!';
break;
case 6:
$message = '土曜日、リラックスしよう!';
break;
default:
$message = '不明な曜日です';
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>switch文の練習</title>
</head>
<body>
<h1>曜日ごとのメッセージ</h1>
<p><?php echo $message; ?></p>
</body>
</html>
date() 関数とは?
date() 関数は、現在の日時を取得するためのPHPの関数です。
引数に指定した「フォーマット文字」によって、取得したい情報を自由にカスタマイズできます。
| 書き方 | 説明 | 例(2025年7月5日の場合) |
|---|---|---|
date('Y') | 西暦4桁の年 | 2025 |
date('m') | 2桁の月 | 07 |
date('d') | 2桁の日 | 05 |
date('w') | 曜日を数字で取得(0:日曜〜6:土曜) | 6 |
date('H:i') | 時:分(24時間表記) | 14:30 など |
date('w') の意味
曜日を「数値」で取得する(0 が日曜、1 が月曜、…、6 が土曜)この値を switch文 に渡して、それぞれの曜日に応じたメッセージを表示しています。
