SORU
18 ŞUBAT 2009, ÇARŞAMBA


'İ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
18 ŞUBAT 2009, ÇARŞAMBA


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ç.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • olinerd

    olinerd

    23 AĞUSTOS 2007
  • WestsideMrArO

    WestsideMrAr

    6 EKİM 2010