PHP döngü sadece yaklaşık 9 kez gidiş yerine ~ 45?

3 Cevap

Bu benim kodudur:

for($i=0; $i < count($badLinkHolder); $i++)
    {
        if($badLinkHolder[$i][0] != "")
        {
            echo "<tr><td>{$i}</td><td>{$badLinkHolder[$i][0]}</td><td>{$badLinkHolder[$i][1]}</td></tr>";
        }
    }

Şimdi, $badLinkHolder I print_r() ile teyit edebilirsiniz yaklaşık 45 girişleri vardır. Nedense, bu döngü etrafında sadece 9 kez oluyor ve ben diziden benim tüm verileri alamıyor.

Bu konuda herhangi bir yardım? Ben tamamen şaşırmış değilim.

3 Cevap

Öncelikle, nasıl sadece 9 kez gidiyor biliyor muydunuz? Benim tahminim böylece döngü yalnızca 9 kez gittiğini varsayarak tablodaki sadece 9 satırları gördüm olmasıdır. Sen ($badLinkHolder[$i][0] != ""), sadece o zaman satır yazdırmak eğer bildiren bir if deyimi var.

Bunun üstüne, foreach for PHP bir dizi döngü daha iyi olurdu.

$i = 0;
foreach($badLinkHolder as $holder)
{
    if($holder[0] != "")
    {
        echo "<tr><td>{$i}</td><td>{$holder[0]}</td><td>{$holder[1]}</td></tr>";
    }
    $i++;
}

Sizin döngü iyi görünüyor. Ben dizinin içeriğinin emin değilim ve ben ilk eğer deyimi kaldırılması ve bazı kukla metin ile değiştirilmesi deneyin öneririz Ancak. Örneğin:

for($i = 0; $i < count($badLinkHolder); $i++)
{
  echo "test $i";
}

Bu şekilde, size döngü kez doğru sayıda geçiyoruz ve bu döngü içinde koduyla bir hata değildir emin olabilirsiniz. Ayrıca, sayımı ($ badLinkHolder) döndürülen değeri yankılandı var?

Gawd Ah, ben bir aptalım. Normal olarak çalışan değil, bir kaç fonksiyonları geçti ve null değerleri yükleri ile dolu önce $ badLinkHolder için girişleri bakıyordu.

Sorun çözüldü.