PHP学习与整理(一):array_walk()

array_walk — 使用用户自定义函数对数组中的每个元素做回调处理。
array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool

例子1

<?php
$arr = ['apple','boy','cat','dog',];
array_walk($arr,function($val, $key, $addtion){
	echo "{$key}:{$val}{$addtion}";
},'!');

上例中,三个参数都用齐了;需要注意的是匿名函数中的两个参数,第一个参数是数组的值,第二个参数是数组的键。
输出结果:

0:apple!1:boy!2:cat!3:dog!

例子2

<?php
$arr = ['apple','boy','cat','dog',];
$addtion = '!';
array_walk($arr,function($val, $key) use ($addtion){
	echo "{$key}:{$val}{$addtion}";
});

在例子2中使用use将外部参数往闭包里传递,将会得到与例子1相同的结果。

例子3

<?php
$arr = ['apple','boy','cat','dog',];
var_dump($arr);
array_walk($arr,function(&$val){
	$val = $val.'-'.$val;
});
var_dump($arr);

在例子3中,使用引用传值的方式改变数组的值。
输出结果:

E:\projects\test\closure.php:20:
array (size=4)
  0 => string 'apple' (length=5)
  1 => string 'boy' (length=3)
  2 => string 'cat' (length=3)
  3 => string 'dog' (length=3)
E:\projects\test\closure.php:24:
array (size=4)
  0 => string 'apple-apple' (length=11)
  1 => string 'boy-boy' (length=7)
  2 => string 'cat-cat' (length=7)
  3 => string 'dog-dog' (length=7)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值