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 相关文章推荐
我的论坛源代码(一)
Oct 09 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
php中日期加减法运算实现代码
Dec 08 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
thinkphp的URL路由规则与配置实例
Nov 26 PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
php对接java现实加签验签的实例
Nov 25 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 PHP
php接口隔离原则实例分析
Nov 11 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
php数组生成html下拉列表的方法
2015/07/20 PHP
PHP中16个高危函数整理
2019/09/19 PHP
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
jQuery参数列表集合
2011/04/06 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
jquery validate demo 基础
2015/10/29 Javascript
ES6的新特性概览
2016/03/10 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
Mac 上切换Python多版本
2017/06/17 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Python处理中文标点符号大集合
2018/05/14 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
python中Mako库实例用法
2020/12/31 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
小学毕业感言300字
2014/02/19 职场文书
采购求职信
2014/03/17 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
硕士论文致谢范文
2015/05/14 职场文书
毕业实习感受与体会
2015/05/26 职场文书
大学军训口号大全
2015/12/24 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
2022/04/20 Python