php array_filter函数实例讲解
首先来看一下函数的基本语法: array array_filter ( array $input [,callable $callback = "" ] ) 依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。 参数介绍: 参数 描述 input 必需。需要处理的数组。 callback 必需。要使用的回调函数。如果没有提供 callback 函数, 将删除 input 中所有等值为 FALSE 的条目 返回值 返回过滤后的数组。 需要注意的地方:用户不应在回调函数中修改数组本身。例如增加/删除单元或者对 array_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为将不可预测。 实例一: function odd($var) { // returns whether the input integer is odd return($var & 1); } function even($var) { // returns whether the input integer is even return(!($var & 1)); } $array1 = array("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5); $array2 = array(6,7,8,9,10,11,12); echo "Odd :n"; print_r(array_filter($array1,"odd")); echo "Even:n"; print_r(array_filter($array2,"even")); ?> 在线运行 输出结果: Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 ) 实例二:(没有使用callback函数) $entry = array( 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '' ); print_r(array_filter($entry)); ?> 运行结果: Array ( [0] => foo [2] => -1 ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |