PHP の foreach ループで奇妙な動作を発見しました。私がこのようにすると:
<?php
$arr = array();
foreach ( $arr as $a )
{
echo 'Hello';
}
?>
次に、予想どおり、配列が空であるという理由だけで何も出力されませんが、次のようにすると次のようになります。
<? $arr = array(); ?>
<? foreach ( $arr as $a ): ?>
Hello
<? endforeach; ?>
次に、「Hello」という単語が1回出力されます...配列は空ですが。なぜこれが異なる動作をするのかわかりません。私にはこれはバグのように見えますが、何かが欠けている可能性があります...
PHP 5.4 (Windows) を使用しています。
ご参考までに、私は .phtml ファイル (テンプレート ファイル) で 2 番目の方法を使用しています。