Rumah  >  Artikel  >  pembangunan bahagian belakang  >  关于PHP框架中使用array_map()等函数的问题

关于PHP框架中使用array_map()等函数的问题

一个新手
一个新手asal
2017-09-12 10:41:251144semak imbas
  • 总是会有一些比较特别的需求,就找到了这个函数。

  • 以下摘自 官方手册 array_map()

    • callback -- 回调函数,应用到每个数组里的每个元素。

    • array1 -- 数组,遍历运行 callback 函数。

    • 数组列表,每个都遍历运行 callback 函数。

    • array_map -- 为数组的每个元素应用回调函数

    • array array_map ( callable $callback , array $array1 [, array $... ] )

    • array_map():返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。

    • 参数

    • 返回值 -- 返回数组,包含 callback 函数处理之后 array1 的所有元素。

    • 范例


<?php
    $arr = [
        [&#39;a&#39; => &#39;aa&#39;,&#39;b&#39; => &#39;bb&#39;,],
        [&#39;c&#39; => &#39;cc&#39;,&#39;d&#39; => &#39;dd&#39;,],
        [&#39;e&#39; => &#39;ee&#39;,&#39;f&#39; => &#39;ff&#39;,],
    ];

    function test($v){        
    $v[&#39;add&#39;] = 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;
    }
}

Atas ialah kandungan terperinci 关于PHP框架中使用array_map()等函数的问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:如何判断时间是否开始 Artikel seterusnya:redis操作有哪几种