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 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 PHP
php 后端实现JWT认证方法示例
Sep 04 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 PHP
详解PHP用mb_string处理windows中文字符
May 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
收集的DedeCMS一些使用经验
2007/03/17 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
显示js对象所有属性和方法的函数
2009/10/16 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
浅析Python多线程下的变量问题
2015/04/28 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python实现飞船大战
2020/04/24 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
Python字符串格式化常用手段及注意事项
2020/06/17 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
新浪微博实习心得体会
2014/01/27 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
聊城大学毕业生自荐书
2014/02/01 职场文书
廉洁自律承诺书
2014/03/27 职场文书
青年文明号服务承诺
2014/03/31 职场文书
大明湖导游词
2015/02/03 职场文书
明确岗位职责
2015/02/14 职场文书
政协工作总结2015
2015/05/20 职场文书