在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;
	}
}
posted @ 2017-09-05 14:33  TricSuMer  阅读(1024)  评论(0编辑  收藏  举报