运算符优先级取决于lanaguage或独立

时间:2015-01-16 05:17:06

标签: php

我在堆栈上看到了一个关于流量的问题。 What's happening with this expression? b = a + (a = a + 5)

它显示b的值为15.但是当我在Php上运行此代码时,b的值为20。

为什么php和C#中的输出存在差异

1 个答案:

答案 0 :(得分:0)

之所以发生这种情况是因为PHP和C#不同地使用内存来保存变量。 阅读How PHP manages variables。 所以PHP没有为变量" $ a"重复zval内存。 ($a = $a +5)完成后,$ a的价值发生了变化,所以我们有了

$a = 5;
echo $a + ($a = $a + 5);  //20

和C#为a变量重复了内存,读取了回答 What's happening with this expression? b = a + (a = a + 5)