鍍金池/ 問答/PHP/ PHP數(shù)組合并的

PHP數(shù)組合并的

最近在做一個項目,遇到個問題很是頭疼,需要將兩個不一樣的二維數(shù)組合并成一個新的二維數(shù)組,格式如下,

       $arr1 = [
            [
                'orderOn' => 'arr1OrderOn001',
                'orderTitle' => 'arr1標(biāo)題1',
            ],
            [
                'orderOn' => 'arr1OrderOn002',
                'orderTitle' => 'arr1標(biāo)題2',
            ]
        ];

        $arr2 = [
            [
                'orderId' => 'arr2OrderOn001',
                'title' => 'arr2標(biāo)題1',
            ],
            [
                'orderId' => 'arr2OrderOn002',
                'title' => 'arr2標(biāo)題2',
            ]
        ];

這是兩個數(shù)組,想將這兩個二維數(shù)組合并成一個新的二維數(shù)組,合并之后的數(shù)組想類似于

        $newArr = [
            [
                'id' => 'arr1OrderOn001',
                'title' => 'arr1標(biāo)題1'
            ],
            [
                'id' => 'arr1OrderOn002',
                'title' => 'arr1標(biāo)題2'
            ],
            [
                'id' => 'arr2OrderOn001',
                'title' => 'arr2標(biāo)題1'
            ],
            [
                'id' => 'arr2OrderOn002',
                'title' => 'arr2標(biāo)題2'
            ]
        ];

是想將兩個數(shù)組合并成新的數(shù)組,下標(biāo)自己指定,苦思冥想了好久沒辦法搞定,來這里求各路大神指教下!

回答
編輯回答
柒槿年

根據(jù)你提供的代碼給了一個解決方案

$arr3 = array_merge($arr1,$arr2);
$list = array_map(function($v){
    $data['id'] = empty($v['orderOn']) ? $v['orderId'] : $v['orderOn'];
    $data['title'] = empty($v['orderTitle']) ? $v['title'] : $v['orderTitle'];
    return $data;
},$arr3);
2017年12月7日 04:57
編輯回答
奧特蛋
$arr1 = [
    [
        'orderOn' => 'arr1OrderOn001',
        'orderTitle' => 'arr1標(biāo)題1',
    ],
    [
        'orderOn' => 'arr1OrderOn002',
        'orderTitle' => 'arr1標(biāo)題2',
    ]
];

$arr2 = [
    [
        'orderId' => 'arr2OrderOn001',
        'title' => 'arr2標(biāo)題1',
    ],
    [
        'orderId' => 'arr2OrderOn002',
        'title' => 'arr2標(biāo)題2',
    ]
];

$data = array_merge($arr1,$arr2);
foreach($data as $key=>$item){
    $item = array_values($item);
    $data[$key] = [
        'id'    =>    $item[0],
        'title' =>    $item[1]
    ];
}
print_r($data);exit;
2018年2月18日 14:08
編輯回答
久礙你
foreach ($arr2 as $value) 
{
    array_push($arr1, $value);
}
2017年1月16日 08:23