【函数分享】每日PHP函数分享(2021-3-1)

array_filter — 使用回调函数过滤数组的元素

说明

array_filter ( array $array , callable|null $callback = null , int $mode = 0 ) : array
遍历 array 数组中的每个值,并将每个值传递给 callback 回调函数。如果 callback 回调函数返回 true,则将 array 数组中的当前值返回到结果 array 数组中。

返回结果 array 数组的键名(下标)会维持不变,如果 array 参数是索引数组,返回的结果 array 数组键名(下标)可能会不连续。可以使用 array_values() 函数对数组重新索引。

参数

array:要遍历的数组

callback:使用的回调函数,如果没有提供 callback 回调函数,将删除数组中 array 的所有“空”元素。有关 PHP 如何判定“空”元素,请参阅 empty() 。

mode:决定哪些参数发送到 callback 回调的标志:

ARRAY_FILTER_USE_KEY - 将键名作为 callback 回调的唯一参数,而不是值

ARRAY_FILTER_USE_BOTH - 将值和键都作为参数传递给 callback 回调,而不是仅传递值

默认值为 0 ,只传递值作为 callback 回调的唯一参数。

返回值

返回过滤后的数组。

范例

 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$array2 = [6, 7, 8, 9, 10, 11, 12];
echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>

输出
Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

你可能感兴趣的:(【函数分享】每日PHP函数分享(2021-3-1))