php数组(十一) array_walk_recursive
array_walk_recursive — 对数组中的每个成员递归地应用用户函数
适用于多维数组的遍历
将用户自定义函数 callback
应用到 array
数组中的每个单元。本函数会递归到更深层的数组中去。
参数
array
- 输入的数组。
callback
- 典型情况下
callback
接受两个参数。array
参数的值作为第一个,键名作为第二个。
注意:
- 如果
callback
需要直接作用于数组中的值,则给callback
的第一个参数指定为引用。这样任何对这些单元的改变也将会改变原始数组本身。
userdata
- 如果提供了可选参数
userdata
,将被作为第三个参数传递给callback
。
1、遍历数据的示例,使用匿名回调函数的方式有效,使用函数名的方式发现对于值是数组的key不会传到回调函数去
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php $sweet = array ( 'a' => 'apple' , 'b' => 'banana' ); $fruits = array ( 'sweet' => $sweet , 'sour' => 'lemon' ); function test_print( $item , $key ) { echo "$key holds $item\n" ; } array_walk_recursive ( $fruits , 'test_print' ); array_walk_recursive ( $fruits , function (& $v , $key ){ $v = $v . "_11" ; }); var_dump( $fruits ); array_walk_recursive ( $fruits , function ( $v1 , $key1 ){ echo "$key1 holds $v1\n" ; }, 'haha' ); ?> |
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | a holds apple b holds banana sour holds lemon array (2) { [ "sweet" ]=> array (2) { [ "a" ]=> string(8) "apple_11" [ "b" ]=> string(9) "banana_11" } [ "sour" ]=> string(8) "lemon_11" } a holds apple_11 b holds banana_11 sour holds lemon_11 |
posted on 2021-08-04 21:18 1450811640 阅读(249) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~