php array_walk 对数组中的每个元素应用用户自定义函数详解


Posted in PHP onNovember 18, 2016

php array_walk 对数组中的每个元素应用用户自定义函数

array_walk 使用用户自定义函数对数组中的每个元素做回调处理

基本语法

bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )

将用户自定义函数 funcname 应用到 array 数组中的每个单元。

array_walk() 不会受到 array 内部数组指针的影响。 array_walk() 会遍历整个数组而不管指针的位置。

参数介绍:

参数 描述
array 必需。输入的数组。 
funname 必需。用户自定义函数的名称。典型情况下 funcname 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果 funcname 需要直接作用于数组中的值,则给 funcname 的第一个参数指定为引用。这样任何对这些单元的改变也将会改变原始数组本身。
userdata 可选。规定用户自定义函数的参数。如果提供了可选参数 userdata,将被作为第三个参数传递给 callback funcname。

说明:

1.array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。

2.典型情况下 funname接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。

3.如果 funname函数需要的参数比给出的多,则每次 array_walk() 调用 funname时都会产生一个 E_WARNING 级的错误。这些警告可以通过在 array_walk() 调用前加上 PHP 的错误操作符 @ 来抑制,或者用 error_reporting()。

4.如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用。

返回值

成功时返回 TRUE , 或者在失败时返回 FALSE 。

实例:

<?php
$fruits = array(
  "d" => "lemon",
  "a" => "orange",
  "b" => "banana",
  "c" => "apple"
);
function test_alter(&$item1, $key, $prefix) {
  $item1 = " $prefix : $item1 ";
}
function test_print($item2, $key) {
  echo " $key . $item2 <br />";
}
echo "Before ...:<br />";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:<br />";
array_walk($fruits, 'test_print');
?>

运行结果:

Before ...:
d . lemon
a . orange
b . banana
c . apple
... and after:
d . fruit : lemon
a . fruit : orange
b . fruit : banana
c . fruit : apple

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
php下使用SMTP发邮件的代码
Jan 10 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 PHP
PHP屏蔽关键字实现方法
Nov 17 #PHP
php实现背景图上添加圆形logo图标的方法
Nov 17 #PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 #PHP
PHP版单点登陆实现方案的实例
Nov 17 #PHP
php实现URL加密解密的方法
Nov 17 #PHP
PHP读取zip文件的方法示例
Nov 17 #PHP
php安装php_rar扩展实现rar文件读取和解压的方法
Nov 17 #PHP
You might like
Smarty中调用FCKeditor的方法
2014/10/27 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
写好自荐信的要点
2013/11/06 职场文书
教师找工作推荐信
2013/11/23 职场文书
销售助理岗位职责
2014/02/21 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
2014企业年终工作总结
2014/12/23 职场文书
先进工作者事迹材料
2014/12/23 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
门面租赁合同范文
2019/08/06 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang