ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# PHP array_walk() 函数 ## 定义和用法 array_walk() 函数对数组中的每个元素应用回调函数。如果成功则返回 TRUE,否则返回 FALSE。 典型情况下 _function_ 接受两个参数。_array_ 参数的值作为第一个,键名作为第二个。如果提供了可选参数 _userdata_ ,将被作为第三个参数传递给回调函数。 如果 _function_ 函数需要的参数比给出的多,则每次 array_walk() 调用 _function_ 时都会产生一个 E_WARNING 级的错误。这些警告可以通过在 array_walk() 调用前加上 PHP 的错误操作符 @ 来抑制,或者用 [error_reporting()](/php/func_error_reporting.asp "PHP error_reporting() 函数")。 ### 语法 ``` array_walk(array,function,userdata...) ``` | 参数 | 描述 | | --- | --- | | array | 必需。规定数组。 | | function | 必需。用户自定义函数的名称。 | | userdata | 可选。用户输入的值,可作为回调函数的参数。 | ## 提示和注释 提示:您可以为函数设置一个或多个参数。 注释:如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用:&$value。(参见例子 3) 注释:将键名和 userdata 传递到 function 中是 PHP 4.0 新增加的。 ## 例子 1 ``` <?php function myfunction($value,$key) { echo "The key $key has the value $value<br />"; } $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); array_walk($a,"myfunction"); ?> ``` 输出: ``` The key a has the value Cat The key b has the value Dog The key c has the value Horse ``` ## 例子 2 带有一个参数: ``` <?php function myfunction($value,$key,$p) { echo "$key $p $value<br />"; } $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); array_walk($a,"myfunction","has the value"); ?> ``` 输出: ``` a has the value Cat b has the value Dog c has the value Horse ``` ## 例子 3 改变数组元素的值(请注意 &$value): ``` <?php function myfunction(&$value,$key) { $value="Bird; } $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); array_walk($a,"myfunction"); print_r($a); ?> ``` 输出: ``` Array ( [a] => Bird [b] => Bird [c] => Bird ) ```