鍍金池/ 問答/數(shù)據(jù)分析&挖掘  HTML5  PHP/ 怎么合并兩個(gè)數(shù)組的值?

怎么合并兩個(gè)數(shù)組的值?

需要合并數(shù)組1與數(shù)組2,數(shù)組2的只要有值就覆蓋數(shù)組1的值,合并結(jié)果如圖[3],請(qǐng)請(qǐng)請(qǐng)教各位大神看看
說明:數(shù)組1結(jié)構(gòu)固定的,數(shù)組2結(jié)構(gòu)不固定有時(shí)多幾個(gè)字段 有時(shí)少。

數(shù)組1
$arr1 = Array(
    0 => Array('name' => '山東東營(yíng)','Nab' =>12,'Nac' => '','Nad' => '','Nae' => '','Nag' => '','Nak' => '','Nao' => '','Naw' => '','Naz' =>'','province' => '海南省','Naaa' => 12),
    1 => Array('name' => '天津','Nab' => 3,'Nac' => '','Nad' => '','Nae' => '','Nag' => '','Nak' => '','Nao' => '','Naw' => '','Naz' =>'','province' => '湖北省','Naaa' => 2),
    2 => Array('name' => '洛陽','Nab' => 3,'Nac' => '','Nad' => '','Nae' => '','Nag' => '','Nak' => '','Nao' => '','Naw' => '','Naz' =>'','province' => '湖北省','Naaa' => 2)
    ...
);

$arr2 = Array(
    0 => Array('name' => '山東東營(yíng)','Nac' => 1,'Nad' => 262,'Nae' => 1,'Nag' => 1,'Nak' => 524,'Nao' => 2,'Naw' => 2,'Naz' => 1),
    1 => Array('name' => '天津','Nac' => 0,'Nad' =>'' ,'Nae' => 0,'Nao' => 0),
    2 => Array('name' => '洛陽','Nac' => 1,'Nad' => 342,'Nae' => 1,'Nag' => 1,'Nak' => 342,'Nao' => 1)
    ...
   );

問題補(bǔ)充
圖[1] 基本結(jié)構(gòu),圖[2] 數(shù)據(jù),圖[3] 最終結(jié)果
如圖:
圖片描述

回答
編輯回答
離殤

$數(shù)組3 = array_merge($數(shù)組1, $數(shù)組2);

2017年11月26日 15:56
編輯回答
久舊酒

如果兩個(gè)數(shù)組的key不會(huì)重復(fù)的話,可以聲明一個(gè)新數(shù)組再存進(jìn)去。
效率貌似比較差,期待更優(yōu)解。

$arr1 = [
    0 => [
        'name' => '山東東營(yíng)',
        'Nab' => 12,
        'Nac' => '',
        'Nad' => '',
        'Nae' => '',
        'Nag' => '',
        'Nak' => '',
        'Nao' => '',
        'Naw' => '',
        'province' => '海南省',
        'Naaa' => 12
    ],
    1 => [
        'name' => '天津',
        'Nab' => 12,
        'Nac' => '',
        'Nad' => '',
        'Nae' => '',
        'Nag' => '',
        'Nak' => '',
        'Nao' => '',
        'Naw' => '',
        'province' => '天津',
        'Naaa' => 12
    ],
    3 => [
        'name' => '洛陽',
        'Nab' => 12,
        'Nac' => '',
        'Nad' => '',
        'Nae' => '',
        'Nag' => '',
        'Nak' => '',
        'Nao' => '',
        'Naw' => '',
        'province' => '湖北省',
        'Naaa' => 12
    ],
];

$arr2 = [
    0 => [
        'name' => '山東東營(yíng)',
        'Nab' => 12,
        'Nac' => '',
        'Nad' => '',
        'Nae' => '',
        'Nag' => '',
        'Nak' => '',
        'Nao' => '',
        'Naw' => '',
        'province' => '海南省',
        'Naaa' => 12
    ],
    1 => [
        'name' => '天津',
        'Nab' => 12,
        'Nac' => '',
        'Nad' => '',
        'Nae' => '',
        'Nag' => '',
        'Nak' => '',
        'Nao' => '',
        'Naw' => '',
        'province' => '天津',
        'Naaa' => 12
    ],
    2 => [
        'name' => '帝都',
        'Nab' => 12,
        'Nac' => '',
        'Nad' => '',
        'Nae' => '',
        'Nag' => '',
        'Nak' => '',
        'Nao' => '',
        'Naw' => '',
        'province' => '湖北省',
        'Naaa' => 12
    ],
];
//聲明一個(gè)空數(shù)組
$resArr = [];
foreach ($arr1 as $k => $a) {
    $resArr[$k]=$a;
}
foreach ($arr2 as $k => $b) {
    $resArr[$k]=$b;
}
ksort($resArr);
echo '<pre>';
var_dump($resArr);
2018年7月9日 16:15
編輯回答
逗婦惱

遍歷循環(huán),相同鍵值合并。

2018年7月11日 15:56
編輯回答
獨(dú)白
header("Content-type:text/html;charset=utf-8");
$arr1 = Array(
    Array( 'name'  => '山東東營(yíng)', 'Nab'  =>12, 'Nac'  => '', 'Nad'  => '', 'Nae'  => '', 'Nag'  => '', 'Nak'  => '', 'Nao'  => '1', 'Naw'  => '', 'province'  => '海南省', 'Naaa'  => 12),
    Array( 'name'  => '天津', 'Nab'  => 3, 'Nac'  => '', 'Nad'  => '', 'Nae'  => '', 'Nag'  => '', 'Nak'  => '', 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
    Array( 'name'  => '洛陽', 'Nab'  => 3, 'Nac'  => '', 'Nad'  => '', 'Nae'  => '', 'Nag'  => '', 'Nak'  => '', 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
);
$arr2 =Array(
    Array( 'name'  => '山東東營(yíng)', 'Nab'  =>12, 'Nac'  => 1, 'Nad'  => 262, 'Nae'  => 1, 'Nag'  => 1, 'Nak'  => 524, 'Nao'  =>'', 'Naw'  => 2, 'province'  => '海南省', 'Naaa'  => 12),
    Array( 'name'  => '天津', 'Nab'  => 3, 'Nac'  => 0, 'Nad'  => '', 'Nae'  => 0, 'Nag'  => '', 'Nak'  => '', 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
    Array( 'name'  => '洛陽', 'Nab'  => 3, 'Nac'  => 1, 'Nad'  => 342, 'Nae'  => 1, 'Nag'  => 0, 'Nak'  => 242, 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
);
$result =  [] ;
$data = [];
$data = array_keys($arr2[0]);//獲取數(shù)組2下標(biāo)
foreach ($arr1 as $k => $v) {
    $result [$k] =$v;
}
foreach ($arr2 as $k => $val) {
    foreach ($data as $key => $value){
        if($val[$value] !== ''){
            $result [$k][$value] = $val[$value];
        }else{
        }
    }
}
ksort($result);
var_dump($result);
2017年11月18日 23:14
編輯回答
爆扎
<?php
$arr1 = Array(
    Array( 'name'  => '山東東營(yíng)', 'Nab'  =>12, 'Nac'  => '', 'Nad'  => '', 'Nae'  => '', 'Nag'  => '', 'Nak'  => '', 'Nao'  => '1', 'Naw'  => '', 'province'  => '海南省', 'Naaa'  => 12),
    Array( 'name'  => '天津', 'Nab'  => 3, 'Nac'  => '', 'Nad'  => '', 'Nae'  => '', 'Nag'  => '', 'Nak'  => '', 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
    Array( 'name'  => '洛陽', 'Nab'  => 3, 'Nac'  => '', 'Nad'  => '', 'Nae'  => '', 'Nag'  => '', 'Nak'  => '', 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
);
$arr2 =Array(
    Array( 'name'  => '山東東營(yíng)', 'Nab'  =>12, 'Nac'  => 1, 'Nad'  => 262, 'Nae'  => 1, 'Nag'  => 1, 'Nak'  => 524, 'Nao'  =>'', 'Naw'  => 2, 'province'  => '海南省', 'Naaa'  => 12),
    Array( 'name'  => '天津', 'Nab'  => 3, 'Nac'  => 0, 'Nad'  => '', 'Nae'  => 0, 'Nag'  => '', 'Nak'  => '', 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
    Array( 'name'  => '洛陽', 'Nab'  => 3, 'Nac'  => 1, 'Nad'  => 342, 'Nae'  => 1, 'Nag'  => 0, 'Nak'  => 242, 'Nao'  => '', 'Naw'  => '', 'province'  => '湖北省', 'Naaa'  => 2),
);
$arr3 = $arr2+$arr1;
foreach ($arr3 as $k => $v){
    if(empty($arr2[$k])){
        $arr2[$k] = [];
    }
    $arr3[$k] = $arr3[$k]+$arr2[$k];
}

echo '<pre>';
print_r($arr3);
2017年6月24日 11:04
編輯回答
好難瘦
用PHP的函數(shù)array_merge()就可以了

http://php.net/manual/zh/function.array-merge.php
2017年4月6日 17:06