Żadnych testów porównawczych, ale osobiście uważam, że $array[]
jest czystszy, a uczciwe dzielenie włosów w ciągu milisekund jest raczej nieistotne, chyba że planujesz dołączyć setki tysięcy ciągów do swojej tablicy.
Edycja : uruchomiono ten kod:
$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;
Pierwsza metoda $array[]
jest prawie o 50% szybsza niż druga.
Niektóre wyniki testów porównawczych:
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[]
Nie powinno to być zaskakujące, ponieważ podręcznik PHP zauważa, że:
Jeśli używasz array_push () do dodania jednego elementu do tablicy, lepiej użyć $ array [] =, ponieważ w ten sposób nie ma narzutu wywoływania funkcji.
Sposób, w jaki jest sformułowany, nie zdziwiłbym się, gdyby array_push
był bardziej wydajny podczas dodawania wielu wartości. EDYCJA : Z ciekawości przeprowadziłem dalsze testy, a nawet przy dużej liczbie dodatków pojedyncze $array[]
połączenia są szybsze niż jedno duże array_push
. Ciekawy.