php array_walk 和 array_reduce函数

本文详细介绍了PHP中两种数组处理函数:array_walk与array_reduce。前者用于遍历数组并执行回调函数,后者则通过回调函数来累积数组元素的结果,并返回最终值。通过具体实例展示了这两种函数的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.array_walk:将数组中的元素(键+值)依次取出传给处理的函数,函数处理完就完了,没有返回值.

 

 

$arr1=array(
    'name'=>'zhangsan',
    'age'=>300,
);
array_walk($arr1,function($val,$key){
echo '参数: '.$key.' 值: '.$val.'<br />';
});
结果:
参数: name 值: zhangsan
参数: age 值: 300


2.array_reduce:将数组中的元素依次传给处理的函数,处理的函数会返回一个最终的结果,作为array_reduce的返回值.
$arr2=array(
    array('id'=>1,'name'=>'lilei'),

    array('id'=>2,'name'=>'tom'),

    array('id'=>4,'name'=>'hanmei')
);
//获取上面数组的所有id,放到一个数组中
function array_id($arid,$ele){//第一个参数是存放返回值的变量,第二个参数是数组中的元素
    $arid[]=$ele['id'];       //取得每个小数组的id,放入第一个参数中
    return $arid;	      //将结果返回,这里会替换第一个参数中的内容,然后传第二个小数组进来,把id放入第一个参数,然后再替换掉第一个参数的值
}
$res=array_reduce($arr2,'array_id',array('id'=>10));//这里的第三个参数如果填写的话,这个参数会作为数组的第一个元素传入处理的函数
var_dump($res);
结果:
array(4) { ["id"]=> int(10) [0]=> int(1) [1]=> int(2) [2]=> int(4) } //可以看到10被放在了前面输出

转载于:https://www.cnblogs.com/babylonTower/p/6237132.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值