【问题标题】:Merge array inside array合并数组内的数组
【发布时间】:2017-02-13 21:35:42
【问题描述】:

我有 2 个要合并的数组。第一个数组是多维的,第二个数组是单数组:

$a = array(
    array('id'=>'1', 'name'=>'Mike'),
    array('id'=>'2', 'name'=>'Lina'),
);

$b = array('id'=>'3', 'name'=>'Niken');

如何将两个数组合并为相同的数组深度?

【问题讨论】:

  • 你想要的结果是什么?

标签: php arrays multidimensional-array array-merge


【解决方案1】:

如果你想要的是这样的:

array(
    array('id'=>'1', 'name'=>'Mike'),
    array('id'=>'2', 'name'=>'Lina'),
    array('id'=>'3', 'name'=>'Niken')
)

您可以将第二个作为新元素添加到第一个:

$one[] = $two;

【讨论】:

  • 跟我想的完全一样
【解决方案2】:

只需将第二个数组附加一个空维度运算符即可。

$one = array(
    array('id'=>'1', 'name'=>'Mike'),
    array('id'=>'2', 'name'=>'Lina')
);

$two = array('id'=>'3', 'name'=>'Niken');

$one[] = $two;

但如果您想合并独特的项目,您需要执行以下操作:

if(false === array_search($two, $one)){
    $one[] = $two;
}

【讨论】:

    【解决方案3】:

    您可以使用当前数组的数组推送轻松做到这一点,我修改了您的代码以便它可以工作

    <?php
      $myArray = array(
        array('id' => '1',  'name' => 'Mike'),
        array('id' => '2',  'name '=> 'Lina')
      );
      array_push($myArray, array('id'=>'3', 'name'=>'Niken'));
      // Now $myArray has all three of the arrays
      var_dump($myArray);
    ?>
    

    如果这有帮助,请告诉我

    【讨论】:

      【解决方案4】:

      要向数组中插入任何内容,您可以使用 push over index ($array[] = $anything;) 或 array_push() 函数。您的案例可以同时使用这两种方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-29
        • 2020-11-26
        • 2013-06-07
        • 2016-09-15
        • 2020-02-03
        • 1970-01-01
        • 2015-12-27
        • 2022-01-22
        相关资源
        最近更新 更多