Open3
PHPのループ
while ¶
(PHP 4, PHP 5, PHP 7, PHP 8)
whileループは、PHPで最も簡単なタイプのループです。
このループは、CのWHILEループと同様の動作をします。 whileループの基本形は次のようになります。
次の例は同じです。どちらも 1 から 10 までの数を出力します。
<?php
/* 例 1 */
$i = 1;
while ($i <= 10) {
echo $i++; /* 出力される値は、足される前の
$iの値です。
(後置加算) */
}
/* 例 2 */
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>
- while文の意味は簡単です。 while文は、式の値がtrueである間、 入れ子の文を繰り返し実行することをPHPに指示します。
for ¶
(PHP 4, PHP 5, PHP 7, PHP 8)
for ループは、PHPで最も複雑なループです。
for は、Cのforループと同様に動作します。 forループの構文は、次のようになります。
以下の例はすべて 1 から 10 までの数を表示します。
<?php
/* 例 1 */
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/* 例 2 */
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
/* 例 3 */
$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
/* 例 4 */
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>
もちろん、最初の例(もしくは 4番目の例)が最善であると考えられます。 しかし、forループにおいて空の式を使用できると、 多くの場合、便利だということに気づかれるかと思います。
foreach ¶
(PHP 4, PHP 5, PHP 7, PHP 8)
foreach は、配列を反復処理するための便利な方法です。
foreach が使えるのは
- 配列と
- オブジェクトだけであり、
別のデータ型や初期化前の変数に対して使うとエラーになります。
この構造には二種類の構文があります。
使用法を示すためにその他の例を示します。
<?php
/* foreach の例 1: 値のみ */
$a = array(1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of \$a: $v.\n";
}
/* foreachの例2: 値 (説明用に、手動でアクセスする際の表記を出力) */
$a = array(1, 2, 3, 17);
$i = 0; /* 説明用 */
foreach ($a as $v) {
echo "\$a[$i] => $v.\n";
$i++;
}
/* foreachの例3: キーと値 */
$a = array(
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach ($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}
/* foreach の例4: 多次元配列 */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}