教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php中 i 与 i 的区别比较

php中 i 与 i 的区别比较

发布时间:2016-10-26   编辑:jiaochengji.com
教程集为您提供php中 i 与 i 的区别比较等资源,欢迎您收藏本站,我们将为您提供最新的php中 i 与 i 的区别比较资源
i 与 i 在很多编程中都有,对变量的增加 1操作,但是有先后问题,下面我来介绍一下他们在运行是的一些区别。


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用法与实例教程

[关闭]
~ ~