Foreach için Geçersiz bağımsız değişken ()

2 Cevap php

Ben foreach için verilen geçersiz argüman alan () ediyorum Hata

Soruna bölümleri şudur:

foreach($subs[$id] as $id2 => $data2)

Garip çünkü ben başka bir yerde aynı yapıyı kullanarak yaşıyorum ve ben alt kategoriler oluşturmak için kullanıyorum .. gayet iyi çalışıyor ve işe yarıyor ama ben hata kurtulmak istiyorum

Bu daha bağlamıdır

foreach($parents as $id => $data)
        {
            if($x == 0)
            {
                $html .= "<tr width='25%' class='row2'>";
            }

            $shtml = "";

            $i = 0;

            ***foreach($subs[$id] as $id2 => $data2)***
            {
                $i++;
                if($i == 15)
                {
                    $shtml .= $this->ipsclass->compiled_templates[ 'skin_businesses' ]->portal_categories_sub_row( $id2, $data2['cat_name'], 1 ) . "";
                    break;
                }
                else
                    $shtml .= $this->ipsclass->compiled_templates[ 'skin_businesses' ]->portal_categories_sub_row( $id2, $data2['cat_name'], 0 ) . "";
            }

2 Cevap

Bu $subs[$id] sürekli bir dizi değil olabilir. Yani, $subs[0], bir dizi olabilir, ancak $subs[1] skalar olmasıdır.

Bir dizi olarak döküm deneyin:

foreach((array)$subs[$id] as $id2 => $data2)

$subs[1] skalar ise, o zaman bunun üzerinde yineleme amaçlı bir elementin bir geçici dizi oluşturur döküm.

Eğer döngü geçmek değişken, muhtemelen bir dizi değil. Sadece döngünün içine beslenmeden önce bir değer atanmış olan nerede olduğunu bulmak için kodunuzu hata ayıklamak için çalışın.

Bir yerde bu değişkene tek bir değer Assinged ise, bu gibi atayın:

$subs[1] = array('somevalue');

PHP dinamik yazılmış bir dildir, ancak bir değişken herhangi bir anda ne tür bilerek hala çok önemlidir.