最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php中++i 与 i++ 的区别比较
时间:2012-11-13 编辑:简简单单 来源:一聚教程网
1、++i 的用法(以 a=++i ,i=2 为例)
先将 i 值加 1 (也就是 i=i+1 ),然后赋给变量 a (也就是 a=i ),
则最终 a 值等于 3 , i 值等于 3 。
所以 a=++i 相当于 i=i+1 ,a=i
2、i++ 的用法(以 a=i++ ,i=2 为例)
先将 i 值赋给变量 a (也就是 a=i ),然后 i 值加 1 (也就是 i=i+1 ),
则最终 a 值等于 2 ,i 值等于 3 。
所以 a=i++ 相当于 a=i , i=i+1
3、++i 与 i++
a=++i 相当于 i++ , a=i
a=i++ 相当于 a=i , i++
4、++i 与 i++ 单独使用时,相当于 i=i+1
如果赋给一个新变量,则 ++i 先将 i 值加 1 ,而 i++ 先将 i 赋给新变量。
性能优化
代码如下 | 复制代码 |
方式一: $begin = time(); $i = 0; while(++$i < 10000) { $j = 0; while(++$j < 10000) ; ; } $end = time(); 时间 : 16s 方式二: $begin = time(); $i = 0; while($i < 10000) { $j = 0; while($j < 10000) ++$j; ++$i; } $end = time(); 时间:13s 方式三: $begin = time(); $i = 0; while($i < 10000) { $j = 0; while($j < 10000) $j++; $i++; } $end = time(); 时间:15s 方式四: $begin = time(); $i = 0; while($i++ < 10000) { $j = 0; while($j++ < 10000) ; ; } $end = time(); 时间:13s |
对比第一种方法和第二种方法, 因为在PHP中, 最终被执行的是OPCODE, 每行opline
都有俩个操作数, 对于操作数来说, 一般有3种类型的存取方式, 临时变量, 变量, 和编译时变量, 这三种变量
其中, 存取最快的是第三种, 编译器变量, 在OpCode执行过程中, 会讲一个变量的加一级引用存储在一个hash
结构中, 用来加快存取速度.
-
上一个: python正则表达式学习笔记