Rumah > Soal Jawab > teks badan
P粉6158866602023-07-31 15:41:35
Masalahnya ialah $arrTree ialah tatasusunan berbilang dimensi.
Gelung foreach dalam kod anda hanya merentasi tahap pertama tatasusunan, bukan tatasusunan bersarang (seperti "gred"). Apabila ia menemui "gred" nilai $v bukan rentetan tetapi tatasusunan, itulah sebabnya semakan is_string($v) gagal.
Anda perlu menambah gelung foreach bersarang untuk mengendalikan struktur ini.
Berikut ialah contoh yang menunjukkan cara untuk mencapai ini:
foreach ($arrTree as $k => $v)
{
if (is_string($v))
{
//Do something here
}
else if (is_array($v))
{
foreach($v as $key => $value)
{
if(is_string($value))
{
//Do something here
}
else if(is_array($value))
{
foreach($value as $innerKey => $innerValue)
{
if(is_string($innerValue))
{
//Do something here
}
}
}
}
}
}