Keine Benchmarks, aber ich persönlich bin der Meinung, dass $array[]
es sauberer anzusehen ist, und das ehrliche Aufteilen von Haaren über Millisekunden ist ziemlich irrelevant, es sei denn, Sie planen, Hunderttausende von Zeichenfolgen an Ihr Array anzuhängen.
Edit : Ran diesen Code:
$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;
Die erste Methode $array[]
ist fast 50% schneller als die zweite.
Einige Benchmark-Ergebnisse:
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[]
Dies sollte nicht überraschen, da das PHP-Handbuch Folgendes feststellt:
Wenn Sie array_push () verwenden, um dem Array ein Element hinzuzufügen, ist es besser, $ array [] = zu verwenden, da auf diese Weise kein Aufwand für den Aufruf einer Funktion entsteht.
Die Art und Weise, wie es formuliert ist, würde mich nicht wundern, wenn array_push
es effizienter ist, mehrere Werte hinzuzufügen. EDIT : Aus Neugier einige weitere Tests durchgeführt und sogar für eine große Anzahl von Ergänzungen individuell$array[]
Anrufe schneller als ein großer array_push
. Interessant.