Bu daha hızlı yapmak için bir yolu var mı?
while ($item = current($data))
{
echo '<ATTR>',$item, '</ATTR>', "\n";
next($data);
}
Ben $ öğe gibi yeni değişkenler oluşturmak gerektiğini sevmiyorum.
Eğer geçici değişkenleri oluşturmak istemiyorsanız, bu gibi bunu:
while (current($data))
{
echo '<ATTR>',current($data), '</ATTR>', "\n";
next($data);
}
Bu gerçekten daha hızlı yapacak, ancak ben bilmiyorum. Bir profil ile olacağını Onlar tek yolu anlatmak için, ama ben fark şüpheliyim böyle bir mikro-optimizasyonu.
Döngü hızlandırmak için en iyi yolu, daha hızlı bir bilgisayar kullanmak olacaktır.
Bir foreach yapabileceğini, ancak daha sonra 2 yeni değişkenler oluşturmak olacaktır. Sadece while () yan tümcesi içinde değişkenleri atama fikrini sevmiyorum sürece.
foreach($data as $key => $value)
{
echo $key . " => ".$value;
}
Her iki şekilde de, gerçek bir değişken oluşturmak için ihtiyacımız olacak.
Buna ne dersin:
function my_func($str) {
echo "<attr>{$str}</attr>\n";
}
array_map('my_func', $data);
(Çalışmıyor, ama ben bir foreach
döngü ile karşılaştırıldığında bu hız merak ediyorum Gerekenler)
Veya, (probably not your case, btw), bir lambda fonksiyonu dayalı bu birisini kullanabilirsiniz> = 5.3 PHP kullanıyorsanız:
array_map(function ($item) {
echo "<attr>{$item}</attr>\n";
}, $data);
Hemen hemen aynı, fakat programda sadece bir kez kullanılan bir işlev bildirmek zorunda kalmadan.