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

PHP函数之array_filter()的作用及使用示例

发布时间:2023-07-13 20:53:56

array_filter()是PHP数组函数之一,它的作用是将数组中的每个元素传递给自定义函数,并将返回值为true的元素收集到一个新的数组中。

array_filter()函数的语法如下:

array array_filter( array $array [, callable $callback [, int $flag = 0 ] ] )

参数说明:

- $array:必需,输入的数组。

- $callback:可选,自定义函数,用于对数组元素进行过滤。如果不指定此参数,array_filter()将删除数组中所有等于false的值。

- $flag:可选,标志参数,用于指定回调函数的参数个数。默认为0,表示回调函数接受一个参数。如果设置为1,则回调函数接受两个参数。

示例1:过滤掉数组中的空值

$original_array = array("apple", "", "banana", "", "cherry");
$filtered_array = array_filter($original_array);

print_r($filtered_array);

输出结果:

Array
(
    [0] => apple
    [2] => banana
    [4] => cherry
)

解释示例1:原始数组中包含了空字符串的元素,使用array_filter()函数过滤后,返回一个新的数组,其中只包含原始数组中非空的元素。

示例2:使用自定义函数过滤数组

$original_array = array(1, 2, 3, 4, 5);
$filtered_array = array_filter($original_array, function($value) {
    return $value % 2 == 0;
});

print_r($filtered_array);

输出结果:

Array
(
    [1] => 2
    [3] => 4
)

解释示例2:使用自定义函数对原始数组中的元素进行过滤,返回一个新的数组,其中只包含原始数组中的偶数元素。

示例3:使用自定义函数过滤关联数组

$original_array = array(
    "apple" => 2,
    "banana" => 4,
    "cherry" => 6,
    "durian" => 8
);

$filtered_array = array_filter($original_array, function($value) {
    return $value % 3 == 0;
});

print_r($filtered_array);

输出结果:

Array
(
    [cherry] => 6
    [durian] => 8
)

解释示例3:使用自定义函数对关联数组进行过滤,返回一个新的数组,其中只包含原始数组中满足条件的元素,数组的键保持不变。

总结:

array_filter()函数是一个非常实用的PHP数组函数,它可以根据自定义函数的条件过滤数组元素,并返回一个新的数组。我们可以使用它过滤空值、过滤数组中满足特定条件的元素等。同时,我们还可以通过指定回调函数的参数个数来灵活控制自定义函数的使用方式。