ホームページ >バックエンド開発 >PHPチュートリアル >php array_push と $arr[]=$value のパフォーマンスの比較
array_push メソッドは、1 つ以上の要素を配列の末尾にプッシュします。
int array_push ( array &$array , mixed $var [, mixed $... ] )
array_push() は配列をスタックとして扱い、渡された変数を配列の末尾にプッシュします。配列の長さは、スタックにプッシュされた変数の数に応じて増加します。
効果は次と同じです:
<?php$arr[] = $value;?>
使用のパフォーマンスを比較します。 array_push で 1,000,000 個の要素をプッシュします
<?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; }?>
実行時間: 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; }?>
実行時間: 417.458057 ms
結果: 一度に 1 つの要素をプッシュします。## を使用します。 #$arr []=$value は、array_push メソッドを使用するよりも 7 倍高速です。
<?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; }?>
実行時間: 250.149012 ミリ秒
#結果:array_push を使用して複数の要素を一度にプッシュします。複数の要素をプッシュするよりも優れています。高速にプッシュするには、$arr[]=$value を使用します。 array_push が一度にプッシュする要素が多いほど、効率が高くなります。
概要$arr[]=$value を使用して一度に 1 つの要素をプッシュする方が、array_push メソッドを使用するより高速です7 回。 この記事では、php array_push と $arr[]=$value のパフォーマンスの比較について説明します。その他の関連コンテンツについては、php 中国語 Web サイトを参照してください。
関連する推奨事項:
mysql タイムスタンプ フォーマット関数 from_unixtime の使用方法mysql 関数 concat の使用方法および group_concat mysql innodb の起動に失敗して再起動できない場合の対処方法の説明以上がphp array_push と $arr[]=$value のパフォーマンスの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。