array_filter
用回调函数过滤数组中的单元
<h2>适用 PHP 版本</h2>
<p>PHP 4.0.0 及以上版本</p>
<h2>函数说明</h2>
<p>array_filter() 函数用于过滤数组中的元素。它使用回调函数对数组的每个元素进行处理,回调函数返回布尔值,根据返回值过滤元素。若回调函数返回 true,则该元素会被保留,否则将被移除。</p>
<h2>函数语法</h2>
<pre>array_filter(array $array, ?callable $callback = null, int $mode = 0): array
返回过滤后的数组。若没有符合条件的元素,返回空数组。
// 示例 1: 过滤掉数组中的空值
$array = [0, 1, 2, null, false, '', 3, 'hello'];
$result = array_filter($array);
print_r($result);
// 输出:
// Array
// (
// [1] => 1
// [2] => 2
// [6] => 3
// [7] => hello
// )
// 示例 2: 使用自定义回调函数进行过滤
$array = [1, 2, 3, 4, 5];
$result = array_filter($array, function($value) {
return $value % 2 == 0; // 仅保留偶数
});
print_r($result);
// 输出:
// Array
// (
// [1] => 2
// [3] => 4
// )
<h2>示例代码的说明</h2>
<p>在第一个示例中,使用 array_filter 函数来过滤掉所有 "false" 值(如 0、null、false 和空字符串)。这个示例展示了如何仅保留所有有效的数组值。</p>
<p>在第二个示例中,使用了一个自定义回调函数,来过滤掉所有不是偶数的元素。这个示例演示了如何利用回调函数来对数组元素进行更复杂的筛选。</p>