为什么PHP中的variable值在以下代码中没有一致的行为?
<?php
$piece = 10;
// output is 10 10 10 10 11 12
echo $piece . $piece . $piece . $piece++ . $piece . ++$piece;
$piece = 10;
// output is 10 10 10 11 12
echo $piece . $piece . $piece++ . $piece . ++$piece;
$piece = 10;
// output is 11 10 11 12
echo $piece . $piece++ . $piece . ++$piece;
?>
问题是,为什么最后一个示例中的第一个输出等于11?而不是上面两个示例中给出的10。
最佳答案
从http://php.net/manual/en/language.operators.precedence.php:
换句话说,您不能依赖++
在特定时间相对于表达式的其余部分生效。
关于php - 为什么前/后增量运算符的行为不正确?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27933384/