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 相关文章推荐
How do I change MySQL timezone?
Mar 26 PHP
PHP 身份验证方面的函数
Oct 11 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
php读取mysql的简单实例
Jan 15 PHP
php缩放gif和png图透明背景变成黑色的解决方法
Oct 14 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
php微信开发之关键词回复功能
Jun 13 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 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
php SQL防注入代码集合
2008/04/25 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
小程序实现录音功能
2020/09/22 Javascript
Python实现视频下载功能
2017/03/14 Python
Python 实现Windows开机运行某软件的方法
2018/10/14 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
python实现维吉尼亚算法
2019/03/20 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
AmazeUI 单选框和多选框的实现示例
2020/08/18 HTML / CSS
优秀村官事迹材料
2014/01/10 职场文书
团代会主持词
2014/04/02 职场文书
计算机系本科生求职信
2014/05/31 职场文书
营销学习心得体会
2014/09/12 职场文书
大学生毕业个人总结
2015/02/15 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
董事会决议范本
2015/07/01 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书