PHP:foreach + array_map + array_filter它按预期工作但是可以优化吗?

时间:2017-11-03 09:19:53

标签: php arrays multidimensional-array foreach

我的数组看起来像这样,想法是用基于json文件中的数字的名称替换RiD。

Array
(
[gId] => Value
[mId] => Value
[GM] => Value
[GT] => Value
[GQ] => Value
[participants] => Array
    (
        [0] => Array
            (
                [tId] => Value
                [sId1] => Value
                [sId2] => Value
                [tId] => Value
                [pId] => Value
                [SM] => Value 
                [R] => Array
                    (
                        [0] => Array
                            (
                                [c] => value
                                [RiD] => 5245

所以要做到这一点我有以下我使用foreach,array_map和array_filter,它使数组更大并改变它的结构。 所以它按预期工作,但无论如何都要进行优化吗?

$p_final = array();

foreach($array["participants"] as $key => $value){

    $p = array();

        $p["RiD"] = $value["RiD"];

        $p["RiD"] = array_map(function($v) use($value, $rid_json) {
            $value["static"] = array_filter($rid_json["data"], function($s) use($v) {
                return $v["RiD"] == $s["id"];
            }, ARRAY_FILTER_USE_BOTH);
            return $value;
        }, $value["RiD"]); 


    $p_final[$key] = $p;
}

0 个答案:

没有答案