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 相关文章推荐
基于mysql的论坛(7)
Oct 09 PHP
Apache2 httpd.conf 中文版
Nov 17 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
解析isset与is_null的区别
Aug 09 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP封装curl的调用接口及常用函数详解
May 31 PHP
PHP的new static和new self的区别与使用
Nov 27 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 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
解决cPanel无法安装php5.2.17
2014/06/22 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
js下用gb2312编码解码实现方法
2009/12/31 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
JQuery球队选择实例
2015/05/18 Javascript
JS中的Replace方法使用经验分享
2015/05/20 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
2015/06/19 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
2017/10/21 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
python文本数据相似度的度量
2018/03/12 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
我未来的职业规划范文
2014/01/11 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
python实现局部图像放大
2021/11/17 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python