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

