【发布时间】:2021-04-16 15:15:59
【问题描述】:
我解码了 json 数组。并从数组中取消设置“N/A,'',-”。当我打印数组时,它会显示未设置的结果和以前的原始数组。我只需要未设置的数组。我怎样才能返回这个新数组。
$root_arr = json_decode($data, true);
function array_depth(array $array) {
foreach ($array as $key => $value) {
if (is_array($value)) {
array_depth($value);
}else{
if(($value == "-") || ($value == "") || ($value == "N/A")){
unset($array[$key]);
}
}
}
print_r(array_values($array));
//return $array;
}
array_depth($root_arr);
结果如下: array result
【问题讨论】:
-
这是一个递归操作,所以它当然会在每次调用中显示一个转储。如果要更改原始数组,则需要通过引用传递它,因为函数使用副本,而不是原始数组。