关于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";
【关于PHP中的自增、自减操作的奥秘】
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- 四首关于旅行记忆的外文歌曲
- Android中的AES加密-下
- 醒不来的梦
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗