1

このコードが「Hello!」と出力するのはなぜですか。4回実行してから、「1」を出力します。

<?php
for ($i=1 AND $blah=1; $i<5; $i++) echo("Hello!");
echo($blah);
?>

これは「Hello!」を印刷しませんが まったくその後、「1」を出力します。

<?php
for ($i=1 && $blah=1; $i<5; $i++) echo("Hello!");
echo($blah);
?>

ANDと&&の優先順位が異なることは知っていますが、ここでは当てはまらないようです。私は何が欠けていますか?(forループ内で$ blahを使用し、その値を設定したいので、上記のコードのバリアントを使用しています)。助けてくれてありがとう!

4

2 に答える 2

3

@OP、このドキュメントをお読みください。例1の論理演算子の違いについて説明します

于 2010-02-03T04:30:41.883 に答える
1

ANDまたは&&のどちらかがここで探しているものではないかと思います。$i=1と初期化式の両方を実行する場合$blah=1は、コンマで区切る必要があります。

for ($i=1, $blah=1; $i<5; $i++) echo("Hello!");
于 2010-02-03T04:26:24.523 に答える