📅  最后修改于: 2023-12-03 15:37:26.169000             🧑  作者: Mango
在 PHP 中,过滤数组是非常常见的任务。可以使用 array_filter()
函数来过滤数组,该函数将数组中的每个元素传递到回调函数中,该函数将根据需要返回处理后的值。但是,在某些情况下,您可能还需要传递额外的参数到回调函数中。
array_filter()
过滤数组使用 array_filter()
函数可以过滤数组中的元素。下面是一个简单的示例,它将过滤数组中的奇数。
$numbers = [1, 2, 3, 4, 5];
$filtered_numbers = array_filter($numbers, function($number) {
return $number % 2 == 0;
});
print_r($filtered_numbers);
输出:
Array
(
[1] => 2
[3] => 4
)
在上面的示例中,使用 array_filter()
过滤了 $numbers
数组中的奇数。回调函数以每个数组元素为参数,并返回布尔值表示元素是否应包含在过滤结果中。
有时候,您可能需要在回调函数中使用额外的参数来过滤数组。可以通过在 array_filter()
函数中传递第三个参数来实现这一点。第三个参数将作为回调函数的参数之一,并且必须是一个单独的值或数组。
下面是一个例子,它过滤了一个数组,仅返回包含大于特定值的元素:
$numbers = [1, 2, 3, 4, 5];
$min_value = 3;
$filtered_numbers = array_filter($numbers, function($number) use ($min_value) {
return $number >= $min_value;
});
print_r($filtered_numbers);
输出:
Array
(
[2] => 3
[3] => 4
[4] => 5
)
在上面的示例中,$min_value
变量被传递给了回调函数。要在回调函数中使用 $min_value
变量,必须使用 use
关键字将其包含在函数中。现在,回调函数将只返回大于或等于 $min_value
的数字。
使用 array_filter()
函数可以非常容易地在 PHP 中过滤数组。如果您需要传递额外的参数到回调函数中,则可以在 array_filter()
函数中使用第三个参数,这将作为回调函数的参数之一。