使用AND vs&&在for循环中(与优先级无关?)

时间:2010-02-03 04:22:40

标签: php logical-operators

为什么这段代码打印“你好!”四次,然后打印“1”:

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

虽然这不会打印出“你好!”在所有,然后打印“1”:

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

我知道AND和&amp;&amp;有不同的优先权,但这似乎不适用于此。我错过了什么? (我正在使用上面代码的变体,因为我将在for循环中使用$ blah,我想为它设置值)。 谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

@OP,请阅读this doc。它解释了Example#1逻辑运算符

下的差异

答案 1 :(得分:1)

我怀疑是AND还是&amp;&amp;是你在这里寻找的。如果要在初始化表达式中同时执行$i=1$blah=1,则需要用逗号分隔它们:

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