zoukankan      html  css  js  c++  java
  • PHP array_walk_recursive 和 array_map 用法及区别 以及在其中使用闭包(匿名函数)use()

    array_walk_recursive ()

    函数中的闭包函数可以带两个参数 ,第一个为value, 第二个为key

    $data = [];

    array_walk_recursive
    ($value,function($v,$k) use(&$data) { $data[] = $v; });

    return $data;

    $value (array)  穿进来的数组

    $v 循环传给闭包函数的 value 值

    $k 循环传给闭包函数的 key 值

    use () 连接闭包和外界变量 其作用是从父作用域继承变量

    &$data  闭包函数外的变量,传入到闭包中,用来传值

    ----------------------------------------------------------------------------------------------------------

    另一种写法:

    $sweet = array(
      'a' => 'apple',
      'b' => 'banana'
    );
    
    $fruits = array(

    'sweet' => $sweet,
      'sour' => 'lemon'
    );
    
    function test_print($item, $key) {
      echo " $key holds $item <br/>";
    }
    
    array_walk_recursive($fruits, 'test_print');

    参考地址 :https://www.jb51.net/article/97402.htm

    array_map()

    函数中的闭包只能传入 value值

    class demo {
    
        public function map($arr) {
            array_map([$this,"aa"],$arr);
        }
    
        public function aa($v) {
           echo "<pre>";
           print_r($v);
        }
    
    }

    $arr  传入的数据

    $this 调用这个class

    $v 传入的数组

    -----------------------------------------------------

    另一种写法:

    array_map(function($v) use(&$data) {
    
            return $data;
    
    },$arr);

    参考地址 : https://www.cnblogs.com/lbcheng/p/7813888.html

    use()

    参考地址 :https://blog.csdn.net/echojson/article/details/80633118

  • 相关阅读:
    基础面试
    三级联动
    数据库分裤分表操作
    缓存的三种方式
    php部分--session的三种用法
    css
    数组
    生成中国地区随机IP
    xml的读取
    React入门
  • 原文地址:https://www.cnblogs.com/http-500/p/12200037.html
Copyright © 2011-2022 走看看