>백엔드 개발 >PHP 튜토리얼 >PHP数组函数array_walk()使用详解

PHP数组函数array_walk()使用详解

WBOY
WBOY원래의
2016-06-20 13:02:211264검색

定义和用法array_walk() 函数对数组中的每个元素应用回调函数。

如果成功则返回 TRUE,否则返回 FALSE。典型情况下 function 接受两个参数。array 参数的值作为第一个,键名作为第二个。

如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。如果 function 函数需要的参数比给出的多,则每次 array_walk() 调用 function 时都会产生一个 E_WARNING 级的错误。

这些警告可以通过在 array_walk() 调用前加上 PHP 的错误操作符 @ 来抑制,或者用 error_reporting()。语法array_walk(array,function,userdata...)参数描述array必需。规定数组。function必需。用户自定义函数的名称。userdata可选。用户输入的值,可作为回调函数的参数。提示和注释提示:您可以为函数设置一个或多个参数。注释:如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用:&$value。(参见例子 3)注释:将键名和 userdata 传递到 function 中是 PHP 4.0 新增加的。

例子 1

<span style="font-size: 14px;"><?php</span><br />function myfunction($value, $key) {<br />echo "The key $key has the value $value<br />";<br />}<br /><br />$a = array("a" => "Cat", "b" => "Dog", "c" => "Horse");<br />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

带有一个参数: 

<span style="font-size: 14px;"><?php</span><br />function myfunction($value, $key, $p) {<br />echo "$key $p $value<br />";<br />}<br /><br />$a = array("a" => "Cat", "b" => "Dog", "c" => "Horse");<br />array_walk($a, "myfunction", "has the value");<br /><p>?><span style="font-size: 14px;">

输出:

a has the value Cat

b has the value Dog

c has the value Horse

例子 3 

改变数组元素的值(请注意 &$value):(这种情况用的比较多!)

<span style="font-size: 14px;"><?php</span><br />function myfunction(&$value, $key) {<br />$value = "Bird";<br />}<br /><br />$a = array("a" => "Cat", "b" => "Dog", "c" => "Horse");<br />array_walk($a, "myfunction");<br />print_r($a);

输出:

Array ( [a] => Bird [b] => Bird [c] => Bird )


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.