php array_walk() 数组函数
前端之家收集整理的这篇文章主要介绍了
php array_walk() 数组函数,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<div class="codetitle"><a style="CURSOR: pointer" data="93523" class="copybut" id="copybut93523" onclick="doCopy('code93523')"> 代码如下:
<div class="codebody" id="code93523">
/
函数array_walk():单一数组回调函数---对数组中的每个成员应用用户函数
1、语法:bool array_walk ( array &array,callback funcname [,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");
//定义一个回调
函数,
输出数组元素
function words_print($value,$key,$prefix){
echo "$prefix:$key=>$value
\n";
}
//定义一个回调
函数直接改变元素的值
function words_alter(&$value,$key){
$value=ucfirst($value);
$key=strtoupper(key);
}
//
输出元素的值
array_walk($words,'words_print','words');
//改变元素的值
array_walk($words,'words_alter');
echo "
";
print_r($words);
echo "
";