[英]Is there a way to infinitely step deeper into an array
我有以下代码
foreach($arrayData as $_key_l1 => $_data_l1)
{
if(is_array($_data_l1))
{
}
else
{
switch($_data_l1)
{
case '':
$arrayData[$_key_l1] = null;
break;
}
}
}
想法是,当$arrayData
传递到循环中时,如果数组中的任何元素本身就是数组,则使用上面的代码,它会更深入,我将其复制到if
,并将变量中的_l1
替换为_l#
其中#是我所在的级别,我还要添加另一个[$_key_l#]
目前我不希望它的深度超过3个级别,但是我希望它可以通过数组而无需我为每个深度级别添加代码,所以我想知道是否已经有一个方式去做我想做的事,但更动态
注意: switch ... case
不完整,到目前为止,它只是将空白字符串变为null
您可以使用递归函数调用。
例:
function step_array(&$arr) {
foreach ($arr as $key => $val) {
if (is_array($val)) {
step_array($val);
} else {
// deal with the value
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.