P粉6158866602023-07-31 15:41:35
問題在於 $arrTree 是一個多維數組。
您的程式碼中的 foreach 迴圈只遍歷了陣列的第一層,而沒有遍歷嵌套的陣列(如 "grades")。當它遇到 "grades" 時,$v 的值不是字串,而是數組,這就是為什麼 is_string($v) 檢查失敗的原因。
您需要新增一個巢狀的 foreach 迴圈來處理這個結構。
以下是一個範例,展示如何實現這一點:
#
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
}
}
}
}
}
}