欢迎访问宙启技术站
智能推送

PHParray_filter()函数用法示例

发布时间:2023-07-05 22:05:06

array_filter()函数是PHP中一个非常有用的数组函数,用于过滤数组中的元素。该函数针对数组中的每个元素应用一个回调函数,根据回调函数的返回值决定该元素是否被保留在过滤后的数组中。

array_filter()函数的基本用法如下:

$filtered_array = array_filter($array, $callback);

其中,$array是要过滤的数组,$callback是一个回调函数,用于判断数组中的每个元素是否保留在过滤后的数组中。

回调函数的定义如下:

function callback($value){
    // 对$value进行判断,返回true或false
}

对于每个元素$value,如果回调函数返回true,则该元素保留在过滤后的数组中,否则被过滤掉。

下面是一些使用array_filter()函数的示例:

1. 过滤数组中的空值元素

$array = array(1, 2, "", 3, null, 4, 0);
$filtered_array = array_filter($array, function($value){
    return !empty($value);
});
// $filtered_array为array(1, 2, 3, 4),过滤掉了空字符串、null和0

2. 过滤数组中的偶数

$array = array(1, 2, 3, 4, 5);
$filtered_array = array_filter($array, function($value){
    return $value % 2 == 1;
});
// $filtered_array为array(1, 3, 5),只保留了奇数

3. 过滤数组中的负数

$array = array(1, -2, 3, -4, 5);
$filtered_array = array_filter($array, function($value){
    return $value >= 0;
});
// $filtered_array为array(1, 3, 5),只保留了非负数

4. 过滤关联数组中的空值元素

$array = array("name" => "John", "age" => "", "gender" => "Male", "address" => "");
$filtered_array = array_filter($array, function($value){
    return !empty($value);
});
// $filtered_array为array("name" => "John", "gender" => "Male"),过滤掉了空字符串

需要注意的是,array_filter()函数会保留原数组中元素的键值关系。如果想重新索引过滤后的数组,可以使用array_values()函数:

$reindexed_array = array_values($filtered_array);