左右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";



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

posted @ 2015-10-15 21:05  zfyouxi  阅读(164)  评论(0编辑  收藏  举报