亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 263
粉絲 3
評論 2
訪問量 133834
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
php array_push 與 $arr[]=$value 性能比較
福哥的博客
原創(chuàng)
2100人瀏覽過

1.array_push方法

array_push 方法,將一個或多個元素壓入數(shù)組的末尾。

int array_push ( array &$array , mixed $var [, mixed $... ] )

array_push() 將array當成一個棧,并將傳入的變量壓入array的末尾。array的長度將根據(jù)入棧變量的數(shù)目增加。 
與下效果相同:

<?php$arr[] = $value;?>

2.比較array_push與 $arr[]=$value性能

使用array_push壓入1000000個元素

<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i++){
    array_push($arr, $i);
}$endtime = get_microtime();
printf("run time %f ms\r\n", ($endtime-$starttime)*1000);
function get_microtime(){    list($usec, $sec) = explode(' ', microtime());    
return (float)$usec + (float)$sec;
}?>

執(zhí)行時間:2735.545158 ms

使用$arr[] = $value壓入100000個元素

<?php$starttime = get_microtime();$arr = array();
for($i=0; $i<1000000; $i++){    $arr[] = $i;
}$endtime = get_microtime();
printf("run time %f ms\r\n", ($endtime-$starttime)*1000);
function get_microtime(){    list($usec, $sec) = explode(' ', microtime());    
return (float)$usec + (float)$sec;
}?>

執(zhí)行時間:417.458057 ms

結果:每次壓入一個元素,使用$arr[]=$value比使用array_push方法快7倍。 

3.同時壓入多個元素比較

使用array_push方法,壓入100000個元素,每次壓入50個元素

<?php$starttime = get_microtime();$arr = array();for($i=0; $i<1000000; $i=$i+50){
    array_push($arr, $i,$i+1,$i+2,$i+3,$i+4,$i+5,$i+6,$i+7,$i+8,$i+9,$i+10,        
    $i+11,$i+12,$i+13,$i+14,$i+15,$i+16,$i+17,$i+18,$i+19,        
    $i+21,$i+22,$i+23,$i+24,$i+25,$i+26,$i+27,$i+28,$i+29,        
    $i+31,$i+32,$i+33,$i+34,$i+35,$i+36,$i+37,$i+38,$i+39,        
    $i+41,$i+42,$i+43,$i+44,$i+45,$i+46,$i+47,$i+48,$i+49);
}$endtime = get_microtime();
    printf("run time %f ms\r\n", ($endtime-$starttime)*1000);
    function get_microtime(){    list($usec, $sec) = explode(' ', microtime());    
    return (float)$usec + (float)$sec;
}?>

執(zhí)行時間:250.149012 ms

結果:使用array_push一次壓入多個元素,比多次使用$arr[]=$value壓入快。array_push一次壓入的元素越多,則效率越高。 

總結:

如果是壓入一個元素,使用$arr[]=$value效率高,因為可以節(jié)省調(diào)用函數(shù)的額外負擔。 
如果同時壓入多個元素,使用array_push效率高,因為不用重復獲取文件尾的指針。

本博文版權歸博主所有,轉載請注明地址!如有侵權、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務協(xié)議
0條評論
作者最新博文
關于我們 免責申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓,幫助PHP學習者快速成長!
關注服務號 技術交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學習
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學習!
    全站2000+教程免費學