在PHP中,数组是一种常用的数据类型,可以存储多个元素。同时,PHP还提供了一些内置函数,用于处理数组。array_filter就是其中一个常用的函数。array_filter函数可以过滤数组中的元素,并返回一个新的数组。
array_filter函数的使用非常灵活,可以通过传递不同的参数,实现不同的过滤方式。下面通过一些例子来介绍array_filter函数的常用用法。
1. 过滤掉数组中的空元素
$arr = array('apple', '', 'orange', 'pear'); $arr = array_filter($arr); print_r($arr);
执行上述代码,会输出以下结果:
Array ( [0] =>apple [2] =>orange [3] =>pear )
可以看到,空元素已经被过滤掉了。
2. 过滤掉数组中小于5的数字
$arr = array(1, 6, 7, 2, 8, 3); $arr = array_filter($arr, function($value) { return $value >= 5; }); print_r($arr);
执行上述代码,会输出以下结果:
Array ( [1] =>6 [2] =>7 [4] =>8 )
可以看到,小于5的数字已经被过滤掉了。
3. 过滤关联数组中值为假的元素
$arr = array( 'name' =>'Tom', 'age' =>20, 'gender' =>'', 'address' =>null ); $arr = array_filter($arr); print_r($arr);
执行上述代码,会输出以下结果:
Array ( [name] =>Tom [age] =>20 )
可以看到,值为假(包括空字符串、0、false和null等)的元素已经被过滤掉了。
4. 自定义过滤函数
function filter($value) { return $value >3 && $value< 7; } $arr = array(1, 5, 7, 2, 8); $arr = array_filter($arr, 'filter'); print_r($arr);
执行上述代码,会输出以下结果:
Array ( [1] =>5 [3] =>2 )
可以看到,只有满足自定义过滤函数filter的元素才会被保留。
总结:
array_filter函数是PHP中常用的一个数组处理函数,可以用来过滤数组中的元素,返回一个新的数组。在使用时,可以灵活传递不同的参数,实现不同的过滤方式。在实际开发中,array_filter函数可以帮助我们快速、方便地处理数组中的数据。