我在堆栈上看到了一个关于流量的问题。 What's happening with this expression? b = a + (a = a + 5)
它显示b的值为15.但是当我在Php上运行此代码时,b的值为20。
为什么php和C#中的输出存在差异
答案 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)。