php array_walk() 数组函数

yipeiwu_com5年前PHP代码库
复制代码 代码如下:

/*函数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<br>\n";
}
//定义一个回调函数直接改变元素的值
function words_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>";

运行效果如下:

相关文章

优化PHP代码的53条建议

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。 2、$row['id'] 的速度是$row[id]的7倍。 3、echo 比 print 快,...

PHP fastcgi模式上传大文件(大约有300多K)报错

最近在项目中中上传图片时,大约有300多K,结果报了个服务器错误,以前从未遇到过,错误的内容如下: mod_fcgid: HTTP request length 132296...

PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法

本文实例讲述了PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法。分享给大家供大家参考,具体如下: PHP计算大数值运算时会出错,当数字太大时,数值会变成科学计数.那怎么来进行...

解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载) 原创

解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载) 原创

这几天公司有台服务器需要配置,系统是Windows 2008 R2,在IIS上配置环境是64位的PHP5.5,要求支持wincache。原本心想无非就是去wincache的官网下载下来,...

php5.3不能连接mssql数据库的解决方法

本文实例讲述了php5.3不能连接mssql数据库的解决方法。分享给大家供大家参考。具体分析如下: 自从php5.3之后系统就不支持mssql_connect这个函数连接了,以前我也讲可...