首先看一道面试题:
$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";
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索变量
, 面试题
, echo
, 前自增后自增运算
, 自增
, 语句
, 自增操作
一个
自增操作数必须是左值、java 自增 原子操作、php变量自增、php自增函数、php 自增,以便于您获取更多的相关知识。
时间: 2024-09-20 22:42:00