复制代码代码如下:/*函数array_walk():单一数组回调函数---对数组中的每个成员应用用户函数*1、语法:boolarray_walk(array&array,callbackfuncname[,mixed$userdata])*2、描述:如果成功则返回TRUE,失败则返回FALSE*3、注意事项:*3.1、$funcname是用户自己定义的回调函数,接受2个参数,第一个参数为数组$array的值,第二个参数为*数组$array的键名,如果提供第三个参数$userdata,将作为第三个参数传递给回调函数$funcname*3.2、使用回调函数可以直接更改数组各个单元的值,但更改各个键名是无效的*3.3、该函数不会受到array内部数组指针的影响。array_walk()会遍历整个数组而不管指针*的位置*3.4、用户不应在回调函数中改变该数组本身,例如增加/删除单元,unset单元等等,如果array_walk()*作用的数组改变了,则此函数的的行为未经定义,且不可预期。*/$words=array("l"=>"lemon","o"=>"orange","b"=>"banana","a"=>"apple");//定义一个回调函数,输出数组元素functionwords_print($value,$key,$prefix){echo"$prefix:$key=>$value<br>\n";}//定义一个回调函数直接改变元素的值functionwords_alter(&$value,$key){$value=ucfirst($value);$key=strtoupper(key);}//输出元素的值array_walk($words,'words_print','words');//改变元素的值array_walk($words,'words_alter');echo"<pre>";print_r($words);echo"</pre>";运行效果如下: