Heim > Fragen und Antworten > Hauptteil
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
}
}
}
}
}
}