$data[$i++]+=2;不等于$data[$i++]=$data[$i++]+2;
$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索引的值
结论:解析和计算并不是同时发生的,解析从左到右,计算从右到左
随机推荐
- docker on mac:误删default vm的处理方法
通过docker-machine 重新建一个vm,在virtualbox里可以直接看到多出来一个vm docker-machine create --driver virtualbox default
- poj1651 Multiplication Puzzle
比较特别的区间dp.小的区间转移大的区间时,也要枚举断点.不过和普通的区间dp比,断点有特殊意义.表示断点是区间最后取走的点.而且一个区间表示两端都不取走时中间取走的最小花费. #include &l ...
- luogu P2408 不同子串个数
考虑反向操作,去计算有多少组相同的子串,对于一组大小为k的极大相同子串的集合,ans-=k-1. 为了避免重复计算,需要一种有效的,有顺序的记录方案. 比如说,对于每一个相同组,按其起始点所在的位置排 ...
- Codeforces Round #364 (Div. 1) (差一个后缀自动机)
B. Connecting Universities 大意: 给定树, 给定2*k个点, 求将2*k个点两两匹配, 每个匹配的贡献为两点的距离, 求贡献最大值 单独考虑每条边$(u,v)$的贡献即可, ...
- TCP客户端与服务器的实现
为了更容易理解,我们举一个小例子来说明服务器与客户端之间的连接过程. 有一个饭店,饭店里有服务员,服务员用于招待客人 特别要注意的是:要记住相关函数的各个参数都是什么,什么时候返回SOCKET_ERR ...
- Wannafly挑战赛20-A,B
A-链接:https://www.nowcoder.com/acm/contest/133/A来源:牛客网 题目描述 现在有一棵被Samsara-Karma染了k种颜色的树,每种颜色有着不同的价值 A ...
- VirtualBox + Centos 使用NAT + Host-Only 方式联网
一.准备工作 1. VirtualBox 2. CentOS镜像 备注:我这里准备好了需要下载的文件,有需要的话可以下载一下,分别是VirtualBox-5.1.24-117012-Win.exe,C ...
- Linux文件与目录管理(二)
一.处理目录的常用命令 ls:列出目录 cd:切换目录 pwd:显示当前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cp:复制文件或者目录 rm:移除文件或者目录 可以使用ma ...
- Intel daal4py demo运行过程
daal安装(记得先安装anaconda): git clone https://github.com/IntelPython/daal4py.git cd daal4py conda create ...
- scrapy-redis(七):部署scrapy
一般我们写好scrapy爬虫,如果需要启动的话,需要进入scrapy项目的根目录,然后运行以下命令: scrapy crawl {spidername} 这样我们就可以在终端查看到爬虫信息了.但爬虫运 ...