在PHP中合并2个数组

叶夫根尼·雷兹尼克(Evgenij Reznik)

我有以下示例结构的2数组:

$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。键是IDABCDEF,(仅作为示例名称)等。

键是数组1数组的名称同样,数组2中每个数组的第一个条目也是。不幸的是,它们的顺序不同。

因此,我需要迭代两个数组并检查键是否相同,如果是,则将Array 2的值复制Array 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] ...
叶夫根尼·雷兹尼克(Evgenij Reznik)

这是我的解决方案:

foreach ($arr1[0] as $key => $entry) {
    $arr1[0][$key][$arr1[0][$key]["Str1"]] = $arr2[0][$entry["Str1"]];
}

这将产生以下输出:

[  
   [  
      {  
         "Str1":"ABC",
         "Str2":"Some Value",
         "Str3":"Something",
         "ABC":"Hello"
      },
      {  
         "Str1":"DEF",
         "Str2":"Another Value",
         "Str3":"Test",
         "DEF":"Test"
      },
      {  
         "Str1":"GHI",
         "Str2":"NULL",
         "Str3":"Blah",
         "GHI":"Something"
      }
   ]
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何合并由PHP中的foreach循环生成的2个数组

来自分类Dev

如何在php中合并三个数组

来自分类Dev

PHP将2个数组合并为第三个数组

来自分类Dev

在PHP中结合2个数组

来自分类Dev

在jQuery中合并包含数据范围的2个数组

来自分类Dev

在PHP中合并2个对象数组

来自分类Dev

在 PHP 中的特定键后合并 2 个数组

来自分类Dev

如何合并2个数组?

来自分类Dev

合并 2 个数组的 php ksort 问题

来自分类Dev

在PHP中合并两个数组

来自分类Dev

在PHP中合并多个数组

来自分类Dev

在PHP中合并两个数组?

来自分类Dev

在PHP中合并两个数组

来自分类Dev

在PHP中合并两个数组

来自分类Dev

在PHP中合并多个数组

来自分类Dev

将两个数组合并为一个2D数组-PHP

来自分类Dev

根据一个值合并2个数组-PHP

来自分类Dev

2个数组使用PHP将数据匹配到1个数组中

来自分类Dev

PHP-从2个数组到1个数组中获取非空值

来自分类Dev

将2个数组与循环或函数合并或合并

来自分类Dev

如何在PHP中合并数组的2个元素?

来自分类Dev

如何在PHP中合并2个输出数组

来自分类Dev

如何在PHP中合并2个输出数组

来自分类Dev

如何在PHP中合并2个输出数组

来自分类Dev

在PHP中合并两个数组的两个元素

来自分类Dev

在PHP中合并两个数组的两个元素

来自分类Dev

如何在angular 7打字稿中合并2个数组

来自分类Dev

合并一个数组 PHP 的元素

来自分类Dev

PHP合并2个数组,1个二维和1个一维