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