-2
我有2阵列具有以下示例结构:合并2个数组在PHP
$json1 = '[[
{
"Str1":"ABC",
"Str2": "Some Value",
"Str3": "Something"
},
{
"Str1": "DEF",
"Str2": "Another Value",
"Str3": "Test"
},
{
"Str1": "GHI",
"Str2": "NULL",
"Str3": "Blah"
}]]';
$json2 = '[{
"ID": "1",
"ABC": "Hello",
"DEF": "Test",
"GHI": "Something"
}]';
$arr1 = json_decode($json1);
$arr2 = json_decode($json2);
我希望他们用PHP加盟“的关键”。键是ID
,ABC
,DEF
,(仅作为示例名)等
中的键是阵列的名称在阵列1。另外,Array 2中的每个阵列的第一个条目是。不幸的是,它们的顺序不同。
所以我需要迭代两个阵列,并检查密钥是相同的,如果是这样的值复制阵列2到阵列1的。事情是这样的:
if($array1[$key] == $array2[$key]){
$array1[$key] += $array2[$key];
}
期望的结果只是一些阵列合并在一起,通过他们的 “钥匙”:
[0] => array(4){
"ABC" => "Hello",
"Str 1" => "ABC",
"Str 2" => "Some Value",
"Str 3" => "Something"
}
[1] => array(4){
"DEF" => "Test",
"Str 1" => "DEF",
"Str 2" => "Another Value",
"Str 3" => "Test"
}
[2] ...
我想这是一个错误的方法 – phaberest
请发布您想要的输出。 –
请张贴一个连贯的例子:两个输入数组=>所需数组 – fusion3k