'İyi Dizi PHP $kullanmak için s[] = $değer veya array_push($dizi, $değer)?
Daha iyi bir dizi üyesi $array[] = $value
array_push($array, $value)
ekleme için PHP kullanmak ?
Manuel bir işlev çağrısı önlemek için daha iyi olduğunu söylüyor olsa da, $array[]
array_push()
yavaştır de okudum. Kimseye herhangi bir açıklama ya da kriterler var mı?
CEVAP
Hayır kriterler, ama ben şahsen $array[]
bakmak cleaner gibi hissediyorum, ve milisaniye içinde gerçekten kılları dizinizi dizeleri yüzbinlerce ekleme düşünmüyorsanız oldukça ilgisizdir.
EditBu kod koştu:
$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;
İlk yöntem $array[]
kullanarak neredeyse ikinci bir P daha hızlıdır.
Bazı deney sonuçları:
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[]
Bu PHP manual bu da belirttiği gibi şaşırtıcı olmamalı:
Eğer array_push() kullanın dizi $için daha iyi olur diziye bir öğe eklemek için[] = bu şekilde çünkü bir işlevi çağırmadan masraf olmayacak.
Böyle olursa array_push
birden çok değer eklerken daha verimli olursa hiç şaşırmam ifade edilmiş.EDİT: Meraktan, biraz daha fazla test ve eklemeler büyük bir miktar için bile yapmış, $array[]
bireysel çağrıları array_push
bir büyük daha hızlı. İlginç.
/Örneğini doldurmak için nasıl bir C# ...
CoffeeScript içinde nasıl bir Dizi içi...
Nasıl bir dizi değer olup olmadığını k...
Kopyalama JavaScript değer dizi...
Nasıl PHP ilişkisel Dizi veya sıralı o...