在PHP框架中使用array_map()等函数
- 总是会有一些比较特别的需求,就找到了这个函数。
- **以下摘自 官方手册 array_map() **
- array_map -- 为数组的每个元素应用回调函数
- array array_map ( callable $callback , array $array1 [, array $... ] )
- array_map():返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。
- 参数
- callback -- 回调函数,应用到每个数组里的每个元素。
- array1 -- 数组,遍历运行 callback 函数。
- 数组列表,每个都遍历运行 callback 函数。
- 返回值 -- 返回数组,包含 callback 函数处理之后 array1 的所有元素。
- 范例
<?php
$arr = [
['a' => 'aa','b' => 'bb',],
['c' => 'cc','d' => 'dd',],
['e' => 'ee','f' => 'ff',],
];
function test($v){
$v['add'] = 0;
return $v;
}
$arr = array_map("test",$arr);
print_r($arr);
?>
输出结果
Array
(
[0] => Array
(
[a] => aa
[b] => bb
[add] => 0
)
[1] => Array
(
[c] => cc
[d] => dd
[add] => 0
)
[2] => Array
(
[e] => ee
[f] => ff
[add] => 0
)
)
- 框架(ThinkPHP)示例
<?php
namespace User\Controller;
use Common\Controller\ManagerController;
class DataController extends Controller
{
public function get_data()
{
$arr = [
// 数据填充
];
$arr = array_map([$this,'_add_param'],$arr);
dump($arr);
}
private function _add_param($value){
$value['add'] = 'xxx';
return $value;
}
}