Php 如何查找和替换数组中的空值?
例如,我有一个数组Php 如何查找和替换数组中的空值?,php,arrays,Php,Arrays,例如,我有一个数组 Array( [0] => Array ( [0] => "0" [1] => "1" ) [1] => [2] => Array ( [4] => "4" [5] => "5" [7] => "7" ) 我想找到空的数组值,并替换它 [1] => data not found 非递归: 递归: 这里是一
Array(
[0] => Array
(
[0] => "0"
[1] => "1"
)
[1] =>
[2] => Array
(
[4] => "4"
[5] => "5"
[7] => "7"
)
我想找到空的数组值,并替换它
[1] => data not found
非递归:
递归:
这里是一个递归解决方案
$myArray = array(
0 => array(
0 => "0",
1 => "1"
),
1 => "",
2 => array(
4 => "4",
5 => "5",
7 => "7"
)
);
function removeEmpty($arr){
if(is_array($arr)){
foreach($arr as &$val){
$val = removeEmpty($val);
}
return $arr;
}
else {
if(empty($arr) && $arr != "0") return "data not found";
}
}
print_r(removeEmpty($myArray));
递归还是仅仅是第一级?如果它只是第一层,那么你可以直接映射它
$array=array_map(函数($value){if(empty($value)返回'data not found';return$value;},$array);
第一级,谢谢:)请注意,如果值为“0”,则为0,这仍然视为空。编辑:+1,用于将其更改为检查“”、false或null。
function replace_empty_values($arr){
foreach($arr as &$val){
if(is_array($val)) $val = replace_empty_values($val);
else if($val === "" || $val === false || $val === null) $val = "data not found";
}
return $arr;
}
$arr = array(
0 => array(
0 => "0",
1 => "1"
),
1 => "",
2 => array(
4 => "4",
5 => "5",
7 => "7"
),
3 => array(
8 => "",
9 => ""
)
);
$arr = replace_empty_values($arr);
print_r($arr);
$myArray = array(
0 => array(
0 => "0",
1 => "1"
),
1 => "",
2 => array(
4 => "4",
5 => "5",
7 => "7"
)
);
function removeEmpty($arr){
if(is_array($arr)){
foreach($arr as &$val){
$val = removeEmpty($val);
}
return $arr;
}
else {
if(empty($arr) && $arr != "0") return "data not found";
}
}
print_r(removeEmpty($myArray));