欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP array_filter() 函数详解

程序员文章站 2022-05-04 11:15:20
定义 array_filter 用回调函数过滤数组中的元素 描述 依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 array 数组的当前值会被包含在返回的结果数组中。 数组的键名保留不变。 如果没有提供 callback 函数, 将删 ......

定义

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
)