Open3

PHPのループ

chick_tockchick_tock

https://www.php.net/manual/ja/control-structures.while.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に指示します。
chick_tockchick_tock

https://www.php.net/manual/ja/control-structures.for.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ループにおいて空の式を使用できると、 多くの場合、便利だということに気づかれるかと思います。

chick_tockchick_tock

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";
    }
}