1 Temmuz 2009, ÇARŞAMBA
Nasıl bir foreach döngü içinde ilk ve son yineleme belirlemek için?
Soru basit. Benim kod foreach
bir döngü var:
foreach($array as $element) {
//code
}
Bu döngü, ilk veya son yineleme içinde bulunduğumuz zaman farklı tepki vermek istiyorum.
Nasıl bunu yapmak için?
CEVAP
8 Ocak 2012, Pazar
Eğer dizinizi benzersiz bir dizi değerleri varsa, o zaman ilk ve son öğe belirleme önemsiz
foreach($array as $element) {
if ($element === reset($array))
echo 'FIRST ELEMENT!';
if ($element === end($array))
echo 'LAST ELEMENT!';
}
Bu son ve ilk elementlerin sadece bir kez görünen bir dizi çalışır, aksi halde yanlış pozitif sonuç alırsın. Bu nedenle, anahtarları (kesinlikle benzersiz) karşılaştırmak gerekir.
foreach($array as $key => $element) {
reset($array);
if ($key === key($array))
echo 'FIRST ELEMENT!';
end($array);
if ($key === key($array))
echo 'LAST ELEMENT!';
}
Güncelleme:Bazı insanlar performans ve/endişe ya da bir foreach döngü içinde dizinin işaretçisini değiştirme. Bu döngü önce anahtar değeri önbelleğe alabilir.
reset($array);
$first = key($array);
foreach($array as $key => $element) {
if ($key === $first)
echo 'FIRST ELEMENT!';
}
Bunu Paylaş:
Nasıl sil foreach döngü içinde dizi ne...
Nasıl bir web sayfası doğrudan tarayıc...
Nasıl bir süreç içinde CPU ve bellek k...
Nasıl bir Üçgen içinde bir nokta belir...
Bir döngü içinde nesne harfleri bir di...