3 回答

TA貢獻1797條經驗 獲得超4個贊
沒有基準,但是我個人感覺看起來$array[]更干凈一些,并且誠實地在幾毫秒內拆分頭發是無關緊要的,除非您計劃在數組中添加成千上萬個字符串。
編輯:運行此代碼:
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
$array[] = $i;
}
print microtime(true) - $t;
print '<br>';
$t = microtime(true);
$array = array();
for($i = 0; $i < 10000; $i++) {
array_push($array, $i);
}
print microtime(true) - $t;
第一種方法使用的$array[]速度比第二種方法快50%。
一些基準測試結果:
Run 1
0.0054171085357666 // array_push
0.0028800964355469 // array[]
Run 2
0.0054559707641602 // array_push
0.002892017364502 // array[]
Run 3
0.0055501461029053 // array_push
0.0028610229492188 // array[]
這并不奇怪,因為PHP手冊指出了這一點:
如果使用array_push()將一個元素添加到數組中,則最好使用$ array [] =,因為這樣就不會產生調用函數的開銷。
它的用詞方式如果array_push添加多個值更有效,我也不會感到驚訝。編輯:出于好奇,進行了一些進一步的測試,即使添加了大量內容,單個$array[]通話也比一個通話快array_push。有趣。

TA貢獻1827條經驗 獲得超8個贊
array_push()的主要用途是可以將多個值壓入數組的末尾。
它在文檔中說:
如果使用array_push()將一個元素添加到數組中,則最好使用$ array [] =,因為這樣就不會產生調用函數的開銷。

TA貢獻1829條經驗 獲得超7個贊
一個區別是,您可以使用兩個以上的參數來調用array_push(),即您可以一次將一個以上的元素推入數組。
$myArray = array();
array_push($myArray, 1,2,3,4);
echo join(',', $myArray);
版畫 1,2,3,4
添加回答
舉報