定义

array_walk - 对数组的每个元素应用自定义函数

描述

array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool

回调函数的参数,第一个是元素值,第二个是元素键名,第三个是可选的 $userdata。

如果只想改变数组值,第一个参数可使用引用传递,即在参数前加上 &。

示例

$fruits = array("a" => "orange", "b" => "banana", "c" => "apple");

function test_alter(&$item1, $key, $prefix)

{

$item1 = "$prefix: $item1";

}

function test_print($item2, $key)

{

echo "$key. $item2
\n";

}

echo "Before ...:\n";

array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');

echo "... and after:\n";

array_walk($fruits, 'test_print');

?>

将输出:

Before ...:

a. orange

b. banana

c. apple

... and after:

a. fruit: orange

b. fruit: banana

c. fruit: apple

总结

上面说如果想改变数组的值,必须使用引用传递,于是我想能不能不这样,直接使用返回值,测试了一下,是不行的,因为回调函数的返回值并没有用到,猜想此函数的目的主要在把数组的每个元素遍历一下,即 走 walk 一遍.

php的array_walk,PHP array_walk() 函数详解相关推荐

  1. C语言网络编程:accept函数详解

    文章目录 前言 函数描述 代码实例 如何得到客户端的IP 和 端口号 前言 当使用tcp服务器使用socket创建通信文件描述符,bind绑定了文件描述符,服务器ip和端口号,listen将服务器端的 ...

  2. 【FFmpeg】函数详解(三)

    FFmpeg函数详解 14.av_write_frame 15.av_interleaved_write_frame 16.av_write_trailer 17.avio_close 18.av_i ...

  3. 【FFmpeg】函数详解(二)

    FFmpeg函数详解 9.av_dump_format 10.avio_open 11.avformat_write_header 12.avcodec_send_frame 13.avcodec_r ...

  4. 【FFmpeg】函数详解(一)

    FFmpeg函数详解 一.错误码相关 1.AVERROR 2.av_strerror 3.其他错误码解释 二.编解码 1.获取编解码器 2.申请.释放上下文环境 3.打开编码器avcodec_open ...

  5. 【ES6】Generator函数详解

    [ES6]Generator函数详解 一.Generator函数简介 基本概念 函数写法 yield关键字介绍 二.next方法的参数 三.for...of循环 四.关于普通throw()与Gener ...

  6. mysql的聚合函数综合案例_MySQL常用聚合函数详解

    一.AVG AVG(col) 返回指定列的平均值 二.COUNT COUNT(col) 返回指定列中非NULL值的个数 三.MIN/MAX MIN(col):返回指定列的最小值 MAX(col):返回 ...

  7. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  8. python基础知识~ 函数详解2

    python~函数详解2  1 生成器函数    定义 如果函数有yield这个关键字,就是生成器函数.生成器函数() 获取的是生成器,不执行函数   须知 yield和return一样,都可以返回数 ...

  9. scanf函数详解与缓冲区

    1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数,遇到文件结束返回EOF,出错返回0. 函数功能: sca ...

  10. pythonpandas函数详解_对pandas中Series的map函数详解

    Series的map方法可以接受一个函数或含有映射关系的字典型对象. 使用map是一种实现元素级转换以及其他数据清理工作的便捷方式. (DataFrame中对应的是applymap()函数,当然Dat ...

最新文章

  1. 正则表达式实现最小匹配
  2. 商汤首付56亿!上海建成亚洲最大AI“发电厂”,万亿参数大模型训练无压力
  3. 解决GNS3桥接本地网卡后无法跟本地网卡通信的故障。
  4. 若依JAVA开源框架自动生成代码步骤记录-创建子module以及导入子module相关问题
  5. 你必须学会的Git入门基本操作
  6. 快学Scala习题解答—第三章 数组相关操作
  7. halcon边缘提取颜色相近_初学者福利!三种用Python从图像数据中提取特征的技术...
  8. Java线程池ExecutorService中重要的方法
  9. halcon——在图形窗口中画坐标系
  10. V8声卡软件调试教程
  11. MySQL工具【mysql 客户端连接工具】
  12. 《互联网大厂晋升指南》读书笔记-上
  13. 装机 --- Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘
  14. python爬虫:Selenium 爬取东方财富网上市公司财务报表
  15. 论文|少样本学习综述
  16. 05 无人机动态模型
  17. python处理期货数据_用python中的Pandas库实现一个商品期货网格策略
  18. 单词 2012-01-19
  19. Word控件Spire.Doc 【段落处理】教程(十二):如何在 C# 中管理 word 文档的分页
  20. nova4e可以升级鸿蒙吗,年轻人的自拍神器 华为nova4e颠覆你的感官

热门文章

  1. curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!
  2. 学java交学费包分配_java 学生缴学费案例:
  3. linux关闭4750 端口,【ubuntu分享帖】acer 4750G ubuntu安装后的一些设置
  4. Win10 Linux GPT分区方案,win10+Ubuntu 20.04 LTS双系统安装(UEFI + GPT)(图文,多图预警)
  5. 5怎么选国外节点_外卖包装怎么选?这5个技巧要掌握
  6. python激活虚拟环境source不是内部或外部_激活虚拟环境的问题
  7. 电脑端二维码识别工具_电脑端自签工具更新,多功能软件一键签名
  8. java系统管理员停用,为什么犯错让我成为一个更好的系统管理员
  9. mysql以user1登录_在mysql中创建用户后不能本地登录的解决方法
  10. mysql 主键唯一,MySQL。关键表中的主键。唯一ID还是多个唯一键?