我有以下代码
foreach($arrayData as $_key_l1 => $_data_l1)
{
if(is_array($_data_l1))
{
}
else
{
switch($_data_l1)
{
case '':
$arrayData[$_key_l1] = null;
break;
}
}
}
这个想法是当$arrayData
被传递到循环中时,如果数组中的任何元素本身就是一个数组,它将更深入,使用上面的代码,我会将其复制到{{1}并使用if
替换变量中的_l1
,其中#是我所在的级别,我还会添加另一个_l#
目前我不认为它会比3级更深,但我想它如果它可以通过数组而不必我为每个级别的深度添加代码,所以我想知道,是已经有办法做我想做但更动态的
注意:[$_key_l#]
不完整,到目前为止它只是将空字符串变为空
答案 0 :(得分:3)
您可以使用递归函数调用。
示例:
function step_array(&$arr) {
foreach ($arr as $key => $val) {
if (is_array($val)) {
step_array($val);
} else {
// deal with the value
}
}
}
答案 1 :(得分:1)