BlaBla.cn

PHP: array_filter - Manual

BlaBla.cn
array_flip > <array_fill
Last updated: Wed, 19 Mar 2008

array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter — 用回调函数过滤数组中的单元

说明

array array_filter ( array $input [, callback $callback ] )

array_filter() 依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE ,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

Example#1 array_filter() 例子

<?php
function  odd ( $var )
{
    return(
$var  ==  1 );
}

function 
even ( $var )
{
    return(
$var  ==  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_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为没有定义。

如果没有提供 callback 函数, array_filter() 将删除 input 中所有等值为 FALSE 的条目。更多信息见 转换为布尔值

Example#2 array_filter() 无 callback

<?php

$entry 
= array(
             
=>  'foo' ,
             
=>  false ,
             
=> - 1 ,
             
=>  null ,
             
=>  ''
          
);

print_r ( array_filter ( $entry ));
?>

上例将输出:

Array
(
    [0] => foo
    [2] => -1
)

      

参见 array_map()array_reduce()array_walk()



array_flip > <array_fill
Last updated: Wed, 19 Mar 2008
 

 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有