为什么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/

10-13 01:15