array_walk()使用
来源:互联网 发布:蚌埠学校网络教务系统 编辑:程序博客网 时间:2024/06/07 20:17
bool array_walk ( array
&$array
, callable $callback
[, mixed $userdata
= NULL
] )将用户自定义函数 funcname 应用到 array 数组中的每个单元。
array_walk() 不会受到 array 内部数组指针的影响。array_walk() 会遍历整个数组而不管指针的位置。
array_walk($array, callback, userdata);
$array 输入的数组, callback($array的参数, 键名,$prefix) $userdata 将被作为第三个参数传递给 callback prefix
测试环境 7.0.1
<?php$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");function test_alter(&$item1, $key, $prefix) //注意这里第一个是取地址符,$prefix 表示为前缀{ $item1 = "$prefix: $item1";}function test_print($item2, $key){ echo "$key. $item2<br />\n";}echo "Before ...:\n";array_walk($fruits, 'test_print');array_walk($fruits, 'test_alter', 'fruit');echo "... and after:\n";var_dump($fruits);array_walk($fruits, 'test_print');
Before ...:d. lemona. orangeb. bananac. apple... and after:d. fruit: lemona. fruit: orangeb. fruit: bananac. fruit: apple
$fruits = array("1" => "lemon", "2" => "orange", "3" => "banana", "4" => "apple");function test_print($item2, &$key){ ++$key; echo "$key. $item2<br />\n";}array_walk($fruits, 'test_print');var_dump($fruits);exit; array(4) { [1]=> string(5) "lemon" [2]=> string(6) "orange" [3]=> string(6) "banana" [4]=> string(5) "apple" }
key值没有变化,说明,array_walk function中第二个方法中如果使用的key取地址符,key的值依然不变
Waring:
If the class is static:
array_walk($array, array('self', 'walkFunction'));
or
array_walk($array, array('className', 'walkFunction'));
Otherwise:
array_walk($array, array($this, 'walkFunction'));
array_walk($array, array('self', 'walkFunction'));
or
array_walk($array, array('className', 'walkFunction'));
Otherwise:
array_walk($array, array($this, 'walkFunction'));
array_walk 与匿名函数结合使用
function zip(&$data, $glue=': '){ if(!is_array($data)) { throw new InvalidArgumentException('First parameter must be an array'); } array_walk($data, function(&$value, $key, $joinUsing) { $value = $key . $joinUsing . $value; }, $glue);}$myName = 'Matthew Purdon';$myEmail = 'matthew@example.com';$from = "$myName <$myEmail>";$headers['From'] = $from;$headers['Reply-To'] = $from;$headers['Return-path'] = "<$myEmail>";$headers['X-Mailer'] = "PHP" . phpversion() . "";$headers['Content-Type'] = 'text/plain; charset="UTF-8"';zip($headers);$headers = implode("\n", $headers);var_dump($headers);exit;
$_POST['something'] = array_map(intval,$_POST['something']);
array_walk($ids, create_function('&$val', '$val = trim($val);'));
阅读全文
0 0
- array_walk()使用
- array_walk
- array_walk
- php 使用array_walk和array_map
- php array_map与array_walk使用对比
- php array_map与array_walk使用对比
- PHP -- array_walk()
- PHP学习笔记——使用回调函数处理数组的函数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:第三个参数
- android 屏幕
- 从普通DLL中导出C++类 – dllexport和dllimport的使用方法
- QTableWidget 详细使用
- 结构体 的优先队列 【模板】
- 【pandas】[5] 数据行列转置,数据透视(stack,unstack,pviot,pviot_table)
- array_walk()使用
- 侃侃c++ this指针
- 随笔_1
- 温故而知新 JS函数
- node中异步处理Promise封装调用
- 如何免费下载百度文库,豆丁网等付费文章
- VC6-error LNK2001: unresolved external symbol _WinMain@16
- 变量(auto、static、extern、register)及其生存周期
- TCP/IP HTTP协议