zoukankan      html  css  js  c++  java
  • array_filter

    array_filter

    (PHP 4 >= 4.0.6, PHP 5)

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

    说明

    array array_filter ( array $input [, callable $callback = "" ] )

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

    参数

     

    input

    要循环的数组

    callback

    使用的回调函数

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

    返回值

    返回过滤后的数组。

    范例

     

    Example #1 array_filter() 例子

     1 <?php
     2 function  odd ( $var )
     3 {
     4      // returns whether the input integer is odd
     5      return( $var  &  1 );
     6 }
     7 
     8 function  even ( $var )
     9 {
    10      // returns whether the input integer is even
    11      return(!( $var  &  1 ));
    12 }
    13 
    14 $array1  = array( "a" => 1 ,  "b" => 2 ,  "c" => 3 ,  "d" => 4 ,  "e" => 5 );
    15 $array2  = array( 6 ,  7 ,  8 ,  9 ,  10 ,  11 ,  12 );
    16 
    17 echo  "Odd :
    " ;
    18 print_r ( array_filter ( $array1 ,  "odd" ));
    19 echo  "Even:
    " ;
    20 print_r ( array_filter ( $array2 ,  "even" ));
    21 ?>

    以上例程会输出:

    Odd :
    Array
    (
        [a] => 1
        [c] => 3
        [e] => 5
    )
    Even:
    Array
    (
        [0] => 6
        [2] => 8
        [4] => 10
        [6] => 12
    )
    

    Example #2 array_filter()callback

     1 <?php
     2 
     3 $entry  = array(
     4               0  =>  'foo' ,
     5               1  =>  false ,
     6               2  => - 1 ,
     7               3  =>  null ,
     8               4  =>  ''
     9            );
    10 
    11 print_r ( array_filter ( $entry ));
    12 ?>

    以上例程会输出:

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

    注释

    Caution

    用户不应在回调函数中修改数组本身。例如增加/删除单元或者对 array_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为将不可预测。

    参见

     

    • array_map() - 将回调函数作用到给定数组的单元上
    • array_reduce() - 用回调函数迭代地将数组简化为单一的值
    • array_walk() - 对数组中的每个成员应用用户函数
  • 相关阅读:
    第04组 Beta冲刺 (3/5)
    第04组 Beta冲刺 (2/5)
    第04组 Beta冲刺 (1/5)
    软工实践个人总结
    第09组 每周小结(3/3)
    第09组 每周小结(2/3)
    第09组 每周小结(1/3)
    第09组 Beta冲刺 总结
    第09组 Beta冲刺 (5/5)
    第09组 Beta冲刺 (4/5)
  • 原文地址:https://www.cnblogs.com/haidong/p/4371931.html
Copyright © 2011-2022 走看看