将两个不同数组的元素合并到第三个数组

N30FOX

我希望你能帮助我......我有 2 个数组,我想插入到 1array 中,new_date如果没有datais data= '0',如果没有data1is data1= '0'。

对不起,如果我不知道如何解释好,我举了一个小例子。我已经尝试过 array_merge (但一切都是分开的)和 array_combine (它给出了两个参数应该具有相同数量的元素的错误)。预先感谢您提供的所有帮助...

array1 = array:5 [▼
      0 => array:2 [▼
        "data" => 118
        "new_date" => "06-2017"
      ]
      1 => array:2 [▼
        "data" => 263
        "new_date" => "07-2017"
      ]
      2 => array:2 [▼
        "data" => 264
        "new_date" => "08-2017"
      ]
      3 => array:2 [▼
        "data" => 266
        "new_date" => "09-2017"
      ]
      4 => array:2 [▼
        "data" => 306
        "new_date" => "10-2017"
      ]
      5 => array:2 [▼
        "data" => 100
        "new_date" => "11-2017"
      ]

array2 = array:6 [▼
      0 => array:2 [▼
        "data1" => 100
        "new_date" => "02-2016"
      ]
      1 => array:2 [▼
        "data1" => 170
        "new_date" => "06-2017"
      ]
      2 => array:2 [▼
        "data1" => 354
        "new_date" => "07-2017"
      ]
      3 => array:2 [▼
        "data1" => 397
        "new_date" => "08-2017"
      ]
      4 => array:2 [▼
        "data1" => 421
        "new_date" => "09-2017"
      ]
      5 => array:2 [▼
        "data1" => 531
        "new_date" => "10-2017"
      ]

例子:

array3 = array:7 [▼
      0 => array:3 [▼
        "data1" => 111
        "data" => 0
        "new_date" => "02-2016"
      ]
      1 => array:3 [▼
        "data1" => 170
        "data" => 118
        "new_date" => "06-2017"
      ]
      2 => array:3 [▼
        "data1" => 354
        "data" => 263
        "new_date" => "07-2017"
      ]
      3 => array:3 [▼
        "data1" => 397
        "data" => 264
        "new_date" => "08-2017"
      ]
      4 => array:3 [▼
        "data1" => 421
        "data" => 266
        "new_date" => "09-2017"
      ]
      5 => array:3 [▼
        "data1" => 531
        "data" => 306
        "new_date" => "10-2017"
      ]
      6 => array:3 [▼
        "data1" => 0
        "data" => 100
        "new_date" => "11-2017"
      ]

温德

使用array_combine设置new_date为关键字。然后添加第一个数组元素d1(在您的示例中为“data1”)与array_map. 很好,在第二个数组上循环并添加d1存在,其余所有d(在您的示例中为“数据”)为 0 如果不存在。

你可以这样做:

$a1 = array(["d"=>1, "new_date"=> "06-2017"],["d"=>2, "new_date"=> "02-2016"]);
$a2 = array(["d1"=>3, "new_date"=> "06-2017"],["d1"=>4, "new_date"=> "07-2017"]);

$a1 = array_combine(array_column($a1, "new_date"), $a1);
$a2 = array_combine(array_column($a2, "new_date"), $a2);

// adding default d1 as 0
$a1 = array_map(function ($e) {return array_merge($e, ["d1" => 0]);},$a1);

foreach($a2 as $k => $v) {
    if (isset($a1[$k]))
        $a1[$k]["d1"] = $v["d1"]; // if new_data exist set only d1
    else
        $a1[$k] = array_merge($v, ["d" => 0]); //add with d as 0
}

你的结果将在 $a1

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将两个指针数组合并到 C++ 中的第三个指针数组中

将两个不同的数据类列表合并到第三个 Kotlin

将两个数组 php 与第三个数组进行比较

将值从两个数组转换为新的第三个数组

将 2 个数组的排序合并到 C 中的第三个数组中

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

如何添加两个不等数组的每个元素并将其存储在第三个数组中?

Python:根据第三个数组对两个数组进行排序

在前两个数组的基础上创建第三个数组

如何添加两个数组以生成第三个数组?

我想比较两个numpy数组并创建第三个数组

Ruby:将两个数组的各个值配对为第三个数组

元素的总和到第三个数组

从两个数组中获取正数,然后从中创建第三个

numpy:将第三个维度上的两个数组连接起来

使用Oracle MERGE INTO将两个表中的数据合并到第三个表中

如何将两个文件之间的差异结果合并到第三个文件?

使用CROSS JOIN将两个表合并到现有的第三个表中-

有没有办法通过只保持与第三个数组的最大距离来合并两个 numpy 数组?

如何在第三个数组中对两个数组的值进行分组?

Java映射两个数组中的数据并将其插入第三个数组

比较两个数组时从第三个数组打印正确的项目的问题

检索和更新函数,用于在第三个数组中求和两个数组

比较两个数组,并用第三个数组中的值替换重复项

有效地从第三个数组中的两个数组中获取每对元素的最小值

Map和Filter在两个数组元素上起作用,但在第三个看起来相同的数组元素上失败

将两个数据库合并为第三个数据库

创建两个数组,然后在用作两个微调器uipickerview的数据的第三个数组中使用它们

在与前两个具有相同组合长度的第三个数组内打印两个数组