📁 作成ファイル・保存場所
XAMPPがインストールされているhtdocs フォルダに以下のファイルを作成してください。
| ファイル名 | 内容 |
|---|---|
| htdocs/php-basic/04.php | PHPとHTML |
- XAMPP(Apacheが起動していること)
- XAMPPがインストールされているhtdocs フォルダに内に作成されていること
今回のテーマ
繰り返し処理(ループ)の基本を学ぶ
for文とwhile文を使って、同じ処理を何度も繰り返す方法を身につけよう!
目的
forとwhileの違いと使い方を理解する- 繰り返し処理の基本構文に慣れる
breakとcontinueの使い方も体験する
チェックポイント
for文で「決まった回数」繰り返せる?while文で「条件が成り立つ間」繰り返せる?breakやcontinueを使ってループ制御できる?
繰り返し文 for文とwhile文
for文とは?
for 文は「回数が決まっている繰り返し」に使います。
最初に「初期化」「条件」「更新」の3つをセットで書くのが特徴です。
for ($i = 1; $i <= 5; $i++) {
echo $i;
}
$i = 1:カウンタ変数の初期値$i <= 5:ループを続ける条件$i++:ループごとに値を更新
while文とは?
while 文は「条件が成り立つ間だけ繰り返す」文です。
回数が決まっていない場合や、動的に変わる条件で使いたいときに適しています。
$i = 1;
while ($i <= 5) {
echo $i;
$i++;
}
- 最初に条件だけを書き、その中でカウントアップ処理を書く必要があります
- カウントアップを忘れると「無限ループ」になるので注意!
制御構文:break と continue
break;:ループを強制的に抜けるcontinue;:その回の処理だけスキップし、次のループに進む
PHP基礎トレーニング
<?php
//for文で1〜5を表示しよう
for ($i = 1; $i <= 5; $i++) {
echo "これは {$i} 回目のループです<br>";
}
//while文で1〜5を表示しよう
$count = 1;
while ($count <= 5) {
echo "whileループ:{$count} 回目<br>";
$count++;
}
//for文で1〜10のうち、5になったらループを終了(break)
for ($i = 1; $i <= 10; $i++) {
if ($i === 5) {
break;
}
echo "{$i} 回目のループ<br>";
}
//while文で1〜5のうち、3だけスキップ(continue)
$i = 1;
while ($i <= 5) {
if ($i === 3) {
$i++;
continue;
}
echo "{$i} を表示中<br>";
$i++;
}
//whileはいつ終わるかわからない場合にも使えます
$total = 0;
$i = 1;
while ($total < 10) {
$total += $i;
echo "{$i} を足して合計は {$total} です<br>";
$i++;
}
?>
表示確認の手順
下記のコード入力が終わったら、以下の手順で動作を確認してみましょう。
- XAMPP を起動
「Apache」が起動していることを確認します。 - ブラウザを開く
Google Chrome など、普段使っているブラウザを開きます。 - アドレスバーに入力
次のURLを直接入力して Enter を押します
http://localhost/php-basic/
- 01.php をクリック
フォルダ一覧の中に「02.php」というファイル名が見えたら、それをクリックしてください。 - ページが表示されれば成功!
「PHP基礎学習のスタートです」や「ウェブトレーニングで頑張りましょう」などの文字が表示されていれば、PHPが正しく動いています。
PHP応用トレーニング
for文のネストを使って九九計算を作ってみましょう。
<?php
// 九九の出力(1〜9)
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= 9; $j++) {
$result = $i * $j;
echo "{$i} × {$j} = {$result}<br>";
}
}
?>
さらにHTMLのテーブル内で九九が表示するようにステップアップしましょう。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>九九表</title>
<style>
table {
border-collapse: collapse;
}
td, th {
border: 1px solid #999;
padding: 8px;
text-align: center;
}
th {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<h1>九九表</h1>
<table>
<tbody>
<?php for ($i = 1; $i <= 9; $i++): ?>
<tr>
<?php for ($j = 1; $j <= 9; $j++): ?>
<td><?php echo $i * $j; ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</tbody>
</table>
</body>
</html>
PHPのfor文では、中かっこ { } の代わりに「:」と「endfor;」で囲むことができます。
この書き方は、HTMLの中で使うとコードが読みやすくなります。
<?php for ($i = 1; $i <= 9; $i++): ?>
繰り返し内容
<?php endfor; ?>
同様に、if文では「endif;」、while文では「endwhile;」と書けます。
