新增 element 到 PHP array 的寫法有二種,一種是用 array_push(),一種是使用 $list[] 直接新增。
跑個迴圈塞一千萬筆資料進 array,看看哪一種寫法的速度比較快。
這個是 array_push() 的:
$list = [];
$start = microtime(true);
for ($a = 0; $a < 10000000; $a++ ) {
array_push($list, 1);
}
$end = microtime(true);
var_dump($end - $start); // double(7.2292509078979)
同上,若將語法換掉的話:
$list = [];
$start = microtime(true);
for ($a = 0; $a < 10000000; $a++ ) {
$list[] = 1;
}
$end = microtime(true);
var_dump($end - $start); // double(2.0703480243683)
小量資料的話,其實二種作法在速度上不會差很多,但資料量變大時,速度差異就會變得很明顯。