PHP array_filter() 函数详解

半世苍凉 提交于 2020-04-05 19:33:20

定义

array_filter - 用回调函数过滤数组中的元素


描述

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

依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。
数组的键名保留不变。
如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的元素。
参数 flag 决定callback接收的参数形式:
ARRAY_FILTER_USE_KEY - 接受键名作为的唯一参数
ARRAY_FILTER_USE_BOTH - 同时接受键名和键值


示例一

<?php
  function even($var)
  {
      // returns whether the input integer is even
      return(!($var & 1));
  }
  $array = array(6, 7, 8, 9, 10, 11, 12);

  echo "Even:\n";
  print_r(array_filter($array, "even"));
?>

将输出:

Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

示例二

不使用回调函数


<?php
  $entry = array(
               0 => 'foo',
               1 => false,
               2 => -1,
               3 => null,
               4 => ''
            );
  print_r(array_filter($entry));
?>

将输出:

Array
(
    [0] => foo
    [2] => -1
)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!