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