【问题标题】:Using AND vs && in a for loop (Not related to precedence?)在 for 循环中使用 AND 与 &&(与优先级无关?)
【发布时间】:2011-01-12 11:30:06
【问题描述】:

为什么这段代码会打印“Hello!”四次,然后打印“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,并且我想为其设置值)。 感谢您的帮助!

【问题讨论】:

    标签: php logical-operators


    【解决方案1】:

    @OP,请阅读this 文档。它解释了示例 #1 逻辑运算符下的区别

    【讨论】:

    • 这就是我所缺少的!谢谢。我仍然需要仔细考虑第一个示例才能真正理解“那些运算符是短路的”的意思。
    • 这是一个仅链接的答案。请在答案本身中发布您的大部分消息,而不是指向场外资源。
    【解决方案2】:

    我怀疑 AND 或 && 是您在此处查找的内容。如果要在初始化表达式中同时执行$i=1$blah=1,需要用逗号隔开:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2022-11-28
      • 2011-05-27
      • 2012-06-17
      • 2016-10-15
      • 1970-01-01
      相关资源
      最近更新 更多