为什么这段代码打印“你好!”四次,然后打印“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,我想为它设置值)。 谢谢你的帮助!
答案 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!");