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 相关文章推荐
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Nov 18 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
Jul 21 PHP
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
php自动给网址加上链接的方法
Jun 02 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 PHP
程序员的表白神器“520”大声喊出来
May 20 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
php 判断IP为有效IP地址的方法
Jan 28 PHP
php 根据URL下载远程图片、压缩包、pdf等文件到本地
Jul 26 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
关于时间计算的结总
2006/12/06 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
初识laravel5
2015/03/02 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
JavaScript类继承及实例化的方法
2015/07/25 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
详解使用路由延迟加载 Angular 模块
2017/10/12 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
python中使用np.delete()的实例方法
2021/02/01 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
师范大学毕业自我鉴定
2013/11/21 职场文书
办加油卡单位介绍信
2014/01/09 职场文书
校本教研工作制度
2014/01/22 职场文书
集体婚礼策划方案
2014/02/22 职场文书
马智宇结婚主持词
2014/04/01 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
2014年学生会工作总结
2014/11/07 职场文书
污染环境建议书
2015/09/14 职场文书
学校团代会开幕词
2016/03/04 职场文书
MySQL查询日期时间
2022/05/15 MySQL