php回调函数处理数组操作示例

吾爱主题 阅读:99 2021-10-08 14:47:00 评论:0

本文实例讲述了php回调函数处理数组操作。分享给大家供大家参考,具体如下:

array_reduce— 用回调函数迭代地将数组简化为单一的值

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

  • callback【mixed callback ( mixed $carry , mixed $item ) carry--携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。item --携带了本次迭代的值。】
  • initial【如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。】

例:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 $res = [   '0' => [   'a' => 'you' ,   'b' => 'me'   ],   '1' => [   'c' => 'li' ,   'd' => 'op'   ] ]; $res = array_reduce ( $res , function ( $result , $value ) {   return array_merge ( $result , array_values ( $value )); }, array ()); var_dump( $res );

输出:

array(4) {
  [0]=>
  string(3) "you"
  [1]=>
  string(2) "me"
  [2]=>
  string(2) "li"
  [3]=>
  string(2) "op"
}

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

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )    返回过滤后的数组。

  • array--要循环的数组
  • callback--使用的回调函数,如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的条目。
  • flag--决定callback接收的参数形式:
    • ARRAY_FILTER_USE_KEY - callback接受键名作为的唯一参数
    • ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值

例:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 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" )); //1,3,5 echo "Even:\n" ; print_r( array_filter ( $array2 , "even" )); //2,4,6

array_map — 为数组的每个元素应用回调函数

array_map ( callable $callback , array $array1 [, array $... ] )

参数

  • callback--回调函数,应用到每个数组里的每个元素。
  • array1--数组,遍历运行 callback 函数。

...

数组列表,每个都遍历运行 callback 函数。

返回值----返回数组,包含 callback 函数处理之后 array1 的所有元素。

例:

?
1 2 3 4 5 6 7 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
)

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/qq_42176520/article/details/100140395

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容