PHP:过滤数组中为空的值,并将返回的数组使用数值键,从 0 开始并以 1 递增

首先了解下以下两个函数:

1.array_filter() 函数用回调函数过滤数组中的值。

2.array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名。(被返回的数组将使用数值键,从 0 开始并以 1 递增)

具体实现代码实例:

<?php
$data = array(
    'a'=>1,
    'b'=>0,
    'c'=>'',
    'd'=>null,
    'e'=>5,
    'f'=>false
);
$data_1 = array_filter($data); //array_filter函数:过滤数组中为空的值
$data_2 = array_values($data_1); //array_values函数:被返回的数组将使用数值键,从 0 开始并以 1 递增。
var_dump($data_1);
var_dump($data_2);
?>

另外:

array_filter() 函数可以实现:用其中的回调函数自定义过滤法则过滤数组

具体实现代码实例:

<?php
function  filtration($arr){
    if($arr % 2 == 1){ //取余
        return $arr;
    }
}
$data = array(
    'a'=>1,
    'b'=>2,
    'c'=>3,
    'd'=>4,
    'e'=>5,
    'f'=>6
);
$data_new=array_filter($data,' filtration');//其中的filtration必须加引号,不能加()
var_dump($data_new);
?>