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、实例
- $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.phpfensi.com',
- 6 => '0',
- 7 => array(),
- 8 => 0
- );
- $validarr = array_filter($entry);
- print_r($validarr);
- //输出结果:
- Array
- (
- [0] => 蓝色夏威夷的博客
- [2] => 1
- [5] => https://www.phpfensi.com
- )