博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
$data[$i++]+=2;不等于$data[$i++]=$data[$i++]+2;
阅读量:5159 次
发布时间:2019-06-13

本文共 472 字,大约阅读时间需要 1 分钟。

$data=array(1,2,3,4);$i=1;$data[$i++]+=2;var_dump($data);echo $i;//输出:array(1,4,3,4) 和 2$data=array(1,2,3,4);$i=1;$data[$i++]=$data[$i++]+2;var_dump($data);echo $i;//输出:array(1,5,3,4) 和 3
 

下面这句,在解析的时候还是从左到右解析,当解析第一个data[i++]的时候,由于是后++所以data数组里的i还是原来的i。当解析第二个的时候,第一个的后++完成了运算,则第二个data里的i比原来的i加了1。在运算的时候从右到左运算,所以结果就是i+1的数组元素的值乘以2然后赋值给i元素的值。而最后,i会加了2

上面那句i最后也只会加1,并且在与2相乘的时候取值也是i索引的值,赋值的时候也是i索引的值
结论:解析和计算并不是同时发生的,解析从左到右,计算从右到左

转载于:https://www.cnblogs.com/3body/p/5416793.html

你可能感兴趣的文章
学生成绩管理系统(三)
查看>>
(数据科学学习手札52)pandas中的ExcelWriter和ExcelFile
查看>>
C语言相关基础知识整理
查看>>
[转贴] start-stop-daemon命令
查看>>
php脚本执行时间限制
查看>>
一步步学习SPD2010--第二章节--处理SP网站(2)--管理网站用户和权限
查看>>
mysql存储过程和函数的操作
查看>>
Kubernetes入门
查看>>
C++中三种正则表达式比较(C regex,C ++regex,boost regex)
查看>>
微软MSN为何会没落的反思
查看>>
Flask 框架 简介
查看>>
用 Python 给程序加个进度条,让你的看起来更炫酷?
查看>>
Java开发笔记(二十八)布尔包装类型
查看>>
Java开发笔记(一百零九)XML报文的定义和解析
查看>>
二、 请按要求对下面的Java代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key的元素。...
查看>>
【DS】2.队列
查看>>
linux c 文件操作。
查看>>
星巴克
查看>>
判断comboBox是否选对了绑定的数据库中的项
查看>>
SQL 一些语句记录
查看>>