定义和用法
array_filter() 函数用回调函数过滤数组中的元素,如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中, 并将结果组成一个新的数组。如果原数组是一个关联数组,键名保持不变。
(PHP 4 >= 4.0.6, PHP 5)
array_filter -- 用回调函数过滤数组中的单元
array array_filter ( array input [, callback callback] )
array_filter() 依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
用户不应在回调函数中修改数组本身。例如增加/删除单元或者对 array_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为没有定义。
如果没有提供 callback 函数,array_filter() 将删除 input 中所有等值为 FALSE 的条目。
例子 2.
array_filter()无 callback 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry));?>上例将输出: Array([0] => foo,[2] => -1)语法 array_filter(array,function)参数 描述array 必需。规定输入的数组。function 必需。自定义函数的名称。 "Dog",1=>"Cat",2=>"Horse"); print_r(array_filter($a,"myfunction"));?>输出: Array ( [2] => Horse )