Notepad++Good Luck To You!

PHP中数组直击肾脏的中级操作,array_walk()
浏览: 1391    评论: 0

array_walk()这是一个淡定而强大的存在!!!walk就是走的意思,无论有多复杂的任务对面过来,它都轻描淡写地用“走”来处理。天,这个函数好屌!比如你有10个孩子(不聊为什么你这么能生。。),让他们每人在合适的年龄去学校里走一圈,好了,他们都...


array_walk()

这是一个淡定而强大的存在!!!

walk就是走的意思,无论有多复杂的任务对面过来,它都轻描淡写地用“走”来处理。

天,这个函数好屌!

比如你有10个孩子(不聊为什么你这么能生。。),让他们每人在合适的年龄去学校里走一圈,好了,他们都认字了!!

这就是你的孩子(数组成员)往学校(一个函数)走过以后发生了变化。

所以array_walk()就是让数组成员每个都被指定函数处理处理,加工加工!

嗯,除了要处理的数组,你要有一个函数(这就是例子里的学校)。

说这么多,没有例子都是白说:

$arr=['水果', '蔬菜', '姑娘'];

function wash($v){

echo "你洗了洗$v !!!";

}

array_walk($arr,'wash');

上边例子运行后会输出:

你洗了洗水果 !!!你洗了洗蔬菜 !!!你洗了洗姑娘 !!!

在这个例子里边,可以看出就是用函数挨个处理了一下数组成员,和我们用foreach好像没啥不一样。

好吧我承认,可好处就是你不用多行去表达一个逻辑,有什么函数直接用array_walk一行一调,真特么干净。

但是,但是!说好我们要加工这个数组成员,加工!调用一遍以后数组成员就不一样了。怎么搞?!
这里就不那么简单了。

看例子:

$arr=['水果', '蔬菜', '姑娘'];

function wash(&$v){

echo "你洗了洗$v !!!";

$v='干净的'.$v;

}

array_walk($arr,'wash');

var_dump($arr);

看!数组里的姑娘干净了!!


注意,在这个函数的形参$v前边,我用粗体写了一个符号“&”!

这是引用的意思,意思就是我直接修改数组里的参数,而不是复制一个再用,这样才能达到效果。


全文详见:http://xpxw.com/?id=106

TOP


«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031
TOP 搜索
TOP 控制面板
您好,欢迎到访网站!
  查看权限
TOP 最新留言
    TOP 作者列表
    TOP 站点信息
    • 文章总数:163
    • 页面总数:0
    • 分类总数:6
    • 标签总数:20
    • 评论总数:0
    • 浏览总数:361552