当前位置: 首页> 函数类别大全> array_filter

array_filter

用回调函数过滤数组中的单元
名称:array_filter
分类:数组
所属语言:php
一句话介绍:用回调函数过滤数组中的元素。

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

参数

  • array (必需): 需要过滤的输入数组。
  • callback (可选): 回调函数,用于处理数组中的每个元素。若未提供该参数,则所有值不为 false 的元素会被保留。
  • mode (可选): 该参数指定回调函数的参数。0 (默认) 表示使用数组值作为回调函数的参数,1 表示使用数组键作为回调函数的参数。

返回值

返回过滤后的数组。若没有符合条件的元素,返回空数组。

示例


// 示例 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>
同类函数
  • 带索引检查计算数组的差集 array_diff_assoc

    array_diff_assoc

    带索引检查计算数组的差集
  • 更改数组中所有键的大小写 array_change_key_case

    array_change_key_case

    更改数组中所有键的大小写
  • 对数组中所有值求和 array_sum

    array_sum

    对数组中所有值求和
  • 将数组的内部指针倒回一位 prev

    prev

    将数组的内部指针倒回一位
  • 检查数组里是否有指定的键名或索引 array_key_exists

    array_key_exists

    检查数组里是否有指定的键名或索引
  • 用回调函数对键名比较计算数组的差集 array_diff_ukey

    array_diff_ukey

    用回调函数对键名比较计算数组的差集
  • 对数组进行逆向排序并保持索引关系 arsort

    arsort

    对数组进行逆向排序并保持索引关系
  • 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 uasort

    uasort

    使用用户自定义的比较函数对数组中的值进行