array_walk
来源:互联网 发布:server name 多个域名 编辑:程序博客网 时间:2024/06/07 13:43
array_walk:我们可以使用自己定义的函数,对数组中每个元素进行回调处理
bool array_walk(array &$array, callable $funcname [,mixed $userdata=null])
参数说明:
array:输入的数组funcname: 一般funcname接收两个参数,第一个是数组值,第二个是键名userdata:可选参数,若填写,则作为funcname的第三个参数
注:如果需要改变array的值,需要将funcname第一个参数指定为引用;但是只能改变数组的值,不能改变数组的结构(如:新增/删除元素),因为会造成不可预期的问题
例1:遍历数组
<?phpfunction print_test($item, $key) { echo "key: $key<br/>"; echo "value: "; echo "<pre>"; var_dump($item); echo "</pre>";}$arr = array( 'apple' => array( 'price' => 4099, 'version' => '6s' ), 'xiaomi' => array( 'price' => 2009, 'version' => '5' ));array_walk($arr, 'print_test');//将$arr的每个元素传入print_test函数输出
结果如下:
key: applevalue:array(2) { ["price"]=> int(4099) ["version"]=> string(2) "6s"}key: xiaomivalue:array(2) { ["price"]=> int(2009) ["version"]=> string(1) "5"}
例2:改变数组的值
<?phpfunction print_test($item, $key) { echo "key: $key<br/>"; echo "value: "; echo "<pre>"; var_dump($item); echo "</pre>";}function change(&$item, $key) { $item['date'] = '2016';}$arr = array( 'apple' => array( 'price' => 4099, 'version' => '6s' ), 'xiaomi' => array( 'price' => 2009, 'version' => '5' ));array_walk($arr, 'change');#将$arr传入change,对值进行修改array_walk($arr, 'print_test');
结果如下:
key: applevalue:array(3) { ["price"]=> int(4099) ["version"]=> string(2) "6s" ["date"]=> string(4) "2016"}key: xiaomivalue:array(3) { ["price"]=> int(2009) ["version"]=> string(1) "5" ["date"]=> string(4) "2016"}
0 0
- array_walk
- array_walk
- PHP -- array_walk()
- array_walk()使用
- array_walk用法示例
- array_walk类调用
- PHP的array_walk()函数
- php array_walk()函数
- array_map array_filter array_walk
- array_map array_filter array_walk
- array_map和array_walk
- array_walk 和 array_map
- PHP array_walk函数用法
- array_walk:第三个参数
- array_walk与array_map 的不同
- php array_walk函数的用法
- array_walk函数与call_user_func_array函数
- array_map 和array_walk && array_filter区别
- smali语法总结
- Idea报错Check $M2_HOME environment variable and mvn script match.
- 在html中向table中动态添加内容,并设置cell字体颜色
- 2016.08.18 初中部 NOIP普及组 模拟赛
- JavaWeb的数据库操作:通过JDBC连接MySQL数据库实现图书信息添加功能
- array_walk
- Mysql服务器查询慢原因分析
- [leetcode]24. Swap Nodes in Pairs -- JavaScript 代码
- Flatten Binary Tree to Linked List leetcode
- JFinal配置类 JFinalConfig
- H264 NALU分析(sps,pps,关键帧,非关键帧)
- ScrollPic.js——图片左右滚动插件(单一功能)
- 入网认证遇到的安全受控机制的问题---之Android 5.1.1 AppOps与严格模式
- WTC中tuxedo返回错误