左右PHP自增力、神秘递减操作

时间:2023-03-09 21:49:09
左右PHP自增力、神秘递减操作

首先看一个面试题:

    $a = 1;
$b = &$a; if ($b == $a++)
echo "true";
else
echo "false";

首先,创建了一个变量$a,而且将数值设定为了1。

然后。创建了一个变量$b,并将其作为对$a的一个引用;

最后这个推断语句中,包括两个opcode:POST_INC 和 IS_EQUAL。

首先运行的是先返回后自增语句(POST_INC)。首先返回1。然后$a自增为了2,由于$b是$a的一个引用,$b也是2。然后运行的是比較语句(IS_EQUAL)。由于$b的值是2,$a++的返回值是1,所以不相等。

相类似的面试题目还有:

    $a = 1;
$b = &$a; $b = $a++; echo "a: $a; b: $b";

版权声明:本文博主原创文章,博客,未经同意不得转载。