【问题标题】:Codeigniter : append one array in other oneCodeigniter:将一个数组附加到另​​一个数组中
【发布时间】:2017-05-26 14:04:25
【问题描述】:

您好,我正在尝试将一个数组附加到另​​一个数组中。当我为新旧版本执行 print_r() 时,这就是我得到的
新版本

 Array
(
    [0] => [1,2,3,4,5,6]
)

旧的

 Array
    (
        [0] => [1,2,3,4,5]
    )

我正在循环这样的数组,但这不起作用,如果我做错了什么,请帮助我

  foreach($newarray  as $value){

    array_push($oldarray, $value);
}

【问题讨论】:

  • 只要使用array_merge($newarray, $oldarray);
  • 给了我这个数组( [0] => [1,2,3,4,5] [1] => [1,2,3,4,5,6] )我想要将所有这些推送到第一个索引

标签: php arrays codeigniter


【解决方案1】:

像使用 array_merge() 函数

$merged_arr = array_merge($oldarray,$newarray);

它会解决你的问题。

【讨论】:

    【解决方案2】:

    有两种方法可以做到这一点。

    假设$oldArray 和$newArray 各只有一项。

    $oldArray = [[1, 2, 3, 4, 5, 6]];
    $newArray = [[7, 8, 9, 10, 11, 12]];
    $oldArray[0] = array_merge($oldArray[0], $newArray[0]);
    var_dump($oldArray);
    

    var_dump 输出

    array (size=1)
      0 => 
        array (size=12)
          0 => int 1
          1 => int 2
          2 => int 3
          3 => int 4
          4 => int 5
          5 => int 6
          6 => int 7
          7 => int 8
          8 => int 9
          9 => int 10
          10 => int 11
          11 => int 12
    

    或与foreach 循环完全相同的结果

    $oldArray = [[1, 2, 3, 4, 5, 6]];
    $newArray = [[7, 8, 9, 10, 11, 12]];
    foreach($newArray as $items)
    {
        foreach($items as $key => $value)
        {
            $oldArray[0][] = $value;
        }
    }
    var_dump($oldArray);
    

    为了我的钱array_merge 是要走的路。

    如果您想知道显示的语法。

    $oldarray[] = $value;

    和

    array_push($oldarray, $value);

    产生完全相同的结果。 PHP 求值器产生与实际执行相同的机器代码。第一种语法需要更少的输入,而且在 IMO 中更易于阅读。

    我也在使用短语法来创建数组。

    $oldArray = [[1, 2, 3, 4, 5, 6]];
    

    和

    $oldArray = array(array(1, 2, 3, 4, 5, 6));
    

    产生相同的结果。您更愿意输入和/或阅读哪个?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 2020-10-06
      • 2012-03-27
      • 2017-08-04
      • 2011-05-15
      • 2016-05-14
      • 1970-01-01
      • 2018-11-25
      相关资源
      最近更新 更多