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 )
posted on 2009-06-05 22:20  睿达团队  阅读(153)  评论(0编辑  收藏  举报