源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

[PHP编程] php array_walk 对数组中的每个元素应用用户自定义函数详解

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-12-25 17:09:37 | 显示全部楼层 |阅读模式
php array_walk函数将用户自定义函数应用到 array 数组中的每个单元,即使用用户自定义函数对数组中的每个元素做回调处理。 本文章向大家讲解array_walk函数的基本语法及使用实例,需要的朋友可以参考下

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

回复

使用道具 举报

11

主题

2万

回帖

300

积分

中级会员

Rank: 3Rank: 3

积分
300
发表于 2022-9-20 20:59:48 | 显示全部楼层
dfdsafdsfdsfdsf
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-9-30 20:03:59 | 显示全部楼层
你们谁看了弄洒了可能
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-10-4 21:44:56 | 显示全部楼层
谢谢您的分享!
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2022-10-30 09:10:12 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

99

积分

注册会员

Rank: 2

积分
99
发表于 2023-2-21 05:08:45 | 显示全部楼层
好东西可以可以可以可以
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-2 09:21:09 | 显示全部楼层
撒旦撒旦撒擦擦擦擦
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-11-17 20:02:39 | 显示全部楼层
啦啦啦啦啦德玛西亚
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-12-3 22:43:31 | 显示全部楼层
而非为吾问无为谓娃娃
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-12-6 12:32:36 | 显示全部楼层
很不错的源码论坛
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2025-1-19 13:16 , Processed in 0.084836 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表