php中 i 与 i 的区别比较
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 赋给新变量。
性能优化
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1931')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1931>方式一:
$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
结构中, 用来加快存取速度.
您可能感兴趣的文章:
php i 和 i的用法区别
php中 i 与 i 的区别比较
$i $i 运行速度与区别
PHP比较static global与GLOBALS用法
PHP中经典的四大排序算法
PHP中四大经典排序算法
有关php中++i 与 i++ 的用法
const define 区别PHP
php用学算法吗
php switch case用法与实例教程