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 相关文章推荐
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
php5.5新数组函数array_column使用
Jul 08 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
PHP开发框架Laravel数据库操作方法总结
Sep 03 PHP
php中session与cookie的比较
Jan 27 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
php登录超时检测功能实例详解
Mar 21 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
PHP获取MAC地址的函数代码
2011/09/11 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
Laravel下生成验证码的类
2017/11/15 PHP
表单验证的完整应用案例探讨
2013/03/29 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
Javascript Promise用法详解
2018/05/10 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
python 发送json数据操作实例分析
2019/10/15 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
python实现mean-shift聚类算法
2020/06/10 Python
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
入党积极分子思想汇报
2014/01/02 职场文书
八年级音乐教学反思
2014/01/09 职场文书
低碳环保标语
2014/06/12 职场文书
创先争优标语
2014/06/27 职场文书
商务经理岗位职责
2014/07/30 职场文书
公司员工安全协议书
2014/11/21 职场文书
环卫工作个人总结
2015/03/04 职场文书
2015年外联部工作总结
2015/04/03 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏