在数组中元素的过滤上,有一种方法比较特殊,结合了回调函数的使用,通过键值来与函数进行对应。相信说到这里很多人对于这种函数方法已经很好奇了,它就是array_filter() 函数的使用。接下来我们对该函数的定义、语法、参数、返回值、实例进行全面的介绍,具体过滤方法展现如下。

1、定义

array_filter用回调函数处理数组中的各个元素。

重点在于过滤(而不是新增)某个元素,当你处理到一个元素时,如果返回了false,那么这个元素将会被过滤掉。PS:保持了原来的索引。

2、语法

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

3、参数

array

callback

Flag

4、返回值

返回过滤的数组。

5、实例

$arr2 = array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5,'f'=>6);
  $resArr2=array_filter($arr2,'fun_odd');//其中的fun_odd必须加引号,不能加()
  print_r($resArr2);
  function fun_odd($arr){
  if($arr % 2 == 1){
    return $arr;
  }
  }

实例扩展:

$entry = array( 
             0 => '蓝色夏威夷的博客', 
             1 => false, 
             2 => 1, 
             3 => null, 
             4 => '', 
             5 => 'https://www.jb51.net', 
             6 => '0',
             7 => array(),
             8 => 0
          );
$validarr = array_filter($entry);
print_r($validarr);
//输出结果:
Array
(
    [0] => 蓝色夏威夷的博客
    [2] => 1
    [5] => https://www.jb51.net
)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。