PHPにおけるループの中括弧の問題
ループでは中括弧を省略できますが、 そのようなコードはしばしばエラーを引き起こすため、 私はそうすることを強くお勧めしません。
例を見てみましょう。次のようなコードがあるとします:
<?php
for ($i = 0; $i <= 9; $i++)
echo $i; // 0から9までの数字を表示
?>
上記のコードに小さな修正を加えます(どの修正か見つけてください)- するとコードは動作しなくなります:
<?php
for ($i = 0; $i <= 9; $i++);
echo $i; // 10を出力
?>
では、私は何を修正したのでしょうか?
問題は、ループの括弧 ) の後にセミコロンを置いたことから発生しました。
この場合、いわゆる ボディのないループ ができてしまいます:それは単に内部で回転し、
次の行はもはやそれに関係しなくなります。
したがって、問題を避けるために、
私は常にループに中括弧を付けることをお勧めします。
次のコードを実行した結果はどうなるか説明してください:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem);
echo $elem;
?>