PHP講座入門

制御構造 繰り返し その1

for

 多分繰り返し(ループ)の中で一番使うんじゃないかと思います。

 まずは、文法を見てみましょう。

for (式1; 式2; 式3) 文;

 という風に式2がFALSEになるまで繰り返します。場合によっては無限ループに陥ってしまいますので、注意が必要です。では、実際のコードを見てみましょう。

<?php
$a = ['鈴木', '佐藤', '田中', '渡辺', '斉藤'];

for ($i = 0; $i < 5; $i++) {
	echo $a[$i] . 'さん、こんにちは!<br>';
}
 結果は
鈴木さん、こんにちは!
佐藤さん、こんにちは!
田中さん、こんにちは!
渡辺さん、こんにちは!
斉藤さん、こんにちは!
 となります。配列の値が出てきました。覚えておられるでしょうか。これをforループですべて列記しています。

 for ($i = 0; $i < 5; $i++) を分解して考えてみます。

  1. 式1$i = 0;$i を 0 にしています。
  2. 式2$i < 5 が評価されますが、0 < 5 なので、TRUEになります。
  3. 式2がTRUEの場合、
    echo $a[$i] . 'さん、こんにちは!<br>'; が実行されます。
  4. 式3$i++; が実行され、$i が 1になります。
  5. 2 に戻る
という風に、0~4までが繰り返し行われる訳です。それで $i = 5 になった時に、式2がFALSEを返すので、ループが終了します。

 

 ちょっと複雑ですが、for文の丸括弧の中身が、(初期化; 継続条件; 増減命令)という風になっている、と丸暗記してしまってください。

foreach

 こちらも良く使います。特に配列が絡んでくると必ずと言っていいほど出てきます。

 まずは文法を見てみましょう。

foreach (配列 as 変数1 => 変数2) 文 または、 foreach (配列 as 変数2) 文

 これは、実例を見てみたほうが分かりやすいと思います。

<?php
$a = ['鈴木', '佐藤', '田中', '渡辺', '斉藤'];

foreach ($a as $key => $value) {
	echo $value . 'さん、あなたは' . $key . '番目です。<br>';
}

echo '
'; $b = ['A' => '鈴木', 'B' => '佐藤', 'C' => '田中', 'D' => '渡辺', 'E' => '斉藤']; foreach ($b as $key => $value) { echo $value . 'さん、Keyは' . $key . 'です。<br>'; } echo '
'; foreach ($b as $value) { echo $value; }
 結果は
鈴木さん、あなたは0番目です。
佐藤さん、あなたは1番目です。
田中さん、あなたは2番目です。
渡辺さん、あなたは3番目です。
斉藤さん、あなたは4番目です。

鈴木さん、KeyはAです。
佐藤さん、KeyはBです。
田中さん、KeyはCです。
渡辺さん、KeyはDです。
斉藤さん、KeyはEです。

鈴木佐藤田中渡辺斉藤
 となります。

 foreach ($b as $key => $value) この書き方と、foreach ($b as $value) この書き方で混乱するかもしれません。これは asの後ろがただの変数($value)になっているのか、連想配列の中身の書き方($key => $value)になっているのかで覚えてください。

 

 もう少し「制御構造 繰り返し」が続きます。

目次

×