php中使用array_filter()函数过滤数组实例讲解

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

1、定义

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

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

2、语法

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

3、参数

array

callback

Flag

4、返回值

返回过滤的数组。

5、实例

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

实例扩展:

  1. $entry = array(
  2. 0 => '蓝色夏威夷的博客',
  3. 1 => false,
  4. 2 => 1,
  5. 3 => null,
  6. 4 => '',
  7. 5 => 'https://www.phpfensi.com',
  8. 6 => '0',
  9. 7 => array(),
  10. 8 => 0
  11. );
  12. $validarr = array_filter($entry);
  13. print_r($validarr);
  14. //输出结果:
  15. Array
  16. (
  17. [0] => 蓝色夏威夷的博客
  18. [2] => 1
  19. [5] => https://www.phpfensi.com
  20. )