1

为什么这段代码会打印“你好!” 四次,然后打印“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 和 && 有不同的优先级,但这似乎不适用于这里。我错过了什么?(我正在使用上面代码的变体,因为我将在 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 回答