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 = 5;
$foo = $a++ + $a--;

运行结果是11

$b = 5;
$paper = ++$b + $b++;

这个结果是12

答:
在PHP中,自增自减的运算优先级要高于加减乘除运算的,乘除的优先级略高于加减,所以是先执行自增自减的。++$a$a++ 的区别在于 ++$a 在运算的时候是先自增再运算的,而 $a++ 则是先运算再自增。

for($dd = 2; $dd <= 5; ++$dd){
        echo $dd;
    }

for($dd = 2; $dd <= 5; $dd++){
        echo $dd;
    }

执行的结果是一样的

posted @ 2019-06-22 15:33  你是真的菜啊  阅读(252)  评论(0编辑  收藏  举报