开发者

Using AND vs && in a for loop (Not related to precedence?)

Why开发者_开发问答 is it that this code prints "Hello!" four times and then prints "1":

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

While this doesn't print out "Hello!" at all and then prints "1":

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

I know AND and && have different precedences, but that doesn't seem to apply here. What am I missing? (I'm using a variant of the code above, since I will use $blah within the for loop, and I want to set the value for it). Thanks for any help!


@OP, please read this doc. It explains the difference under Example #1 logical operators


I doubt that either the AND or && are what you're looking for here. If you want to execute both $i=1 and $blah=1 in the initialization expression, you need to separate them with a comma:

for ($i=1, $blah=1; $i<5; $i++) echo("Hello!");
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜