array_filter: array_filter -- 用回调函数过滤数组中的单元 array array_filter ( array input [, callback function]) array_filter() 依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。
<?php function odd($var) { return ($var % 2 == 1); }
function even($var) { return ($var % 2 == 0); }
$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 )
array_map
array_map -- 将回调函数作用到给定数组的单元上 array array_map ( mixed callback, array arr1 [, array ...]) array_map() 返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。
<?php function cube($n) { return $n*$n*$n; }
$a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); print_r($b); ?>
Array ( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125 ) |
|
|
请发表评论