实验证明,++$i 会比 $i++ 快,前者耗费时间大约是后者的70%左右
//获取毫秒时间戳
function getMillisecond() {
list($t1, $t2) = explode(' ', microtime());
return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);
}
$t1 = getMillisecond();
$i = 0;
for($j=0;$j<100000;$j++){
$i++;
}
$t2 = getMillisecond();
echo 'i++ 100000次的时间:'.($t2-$t1).'
';
$t1 = getMillisecond();
$i = 0;
for($j=0;$j<100000;$j++){
++$i;
}
$t2 = getMillisecond();
echo '++i 100000次的时间:'.($t2-$t1);
?>
上面的是测试方法
另外++写前写后是不一样的
区别比较
$i = 100;
$a = ++$i; //$a的值上101,先将$i赋值为 101再传给$a
与
$a = $i++; //$a的值是100,先将$i的值100传给$a,再将$i变成101
有时在循环的时候用到.如果没有 ++$i;
$a = ++$i;
那么要实现这个效果需要写两条语句
$i++;
$a = $i;
以现在计算机的速度来说,++的位置对于速度来说基本不会影响