我找到了一段代码(来 self 们的一位开发人员),我想知道为什么它的输出是 2?
<?php
$a = 1;
$a = $a-- +1;
echo $a;
谢谢
最佳答案
我会稍微解释一下。我们说的是一个引用系统中某个值的变量。
因此,当您定义 $a = 1
时,您将变量 $a
指向一个值 1
,该值在内存中某处关闭。
在第二行中,您正在执行 $a = $a-- + 1
所以您正在 创建一个新值 并将其设置为 $a
。 $a--
检索原始$a
的值,即1
并添加1
使2
并在内存中的其他位置创建该值。所以现在你有一个变量 $a
指向 2
和一些其他值 1
在内存中关闭,一路递减到 0
,但没有任何东西指向它,所以谁在乎呢。
然后你回显 $a
指向你的 2
值。
编辑:Testing Page
关于php - 为什么 1 + 递减值 + 1 = 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7788032/