php array_walk 类,PHP array_walk_recursive 和 array_map 用法及区别 以及在其中使用闭包(匿名函数)use()...

本文详细介绍了PHP中`array_walk_recursive`和`array_map`函数的使用,特别是它们如何配合闭包进行数据处理。通过示例展示了闭包在传递参数和操作数组元素时的不同之处,以及如何利用`use`关键字在闭包内外传递变量。
摘要由CSDN通过智能技术生成

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
";

}array_walk_recursive($fruits, 'test_print');

array_map()

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

classdemo {public functionmap($arr) {array_map([$this,"aa"],$arr);

}public function aa($v) {echo "

";print_r($v);

}

}

$arr  传入的数据

$this 调用这个class

$v 传入的数组

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

另一种写法:

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

},$arr);

use()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值