将两个数组加在一起,维护索引

时间:2012-07-26 08:32:03

标签: php multidimensional-array

我想要连接两个数组。

我想保留索引。

First Array(开始时间)

    array(2) {
      [0]=>
      array(2) {
        ["ID"]=>
        string(2) "15"
        ["start_time"]=>
        string(19) "2012-06-24 08:00:00"
      }
      [1]=>
      array(2) {
        ["ID"]=>
        string(2) "28"
        ["start_time"]=>
        string(19) "2012-07-26 18:00:00"
      }
    }

第二个数组(结束时间)

    array(2) {
      [0]=>
      array(2) {
        ["ID"]=>
        string(2) "15"
        ["end_time"]=>
        string(19) "2012-06-24 17:00:59"
      }
      [1]=>
      array(2) {
        ["ID"]=>
        string(2) "28"
        ["end_time"]=>
        string(19) "2012-07-26 22:00:59"
      }
    }

如果我跑;

    $merge[0] = $a[0] + $b[0];

    echo '<pre>';
    var_dump($merge);
    echo '</pre>';

我明白了;

   array(1) {
     [0]=>
     array(3) {
       ["ID"]=>
       string(2) "15"
       ["start_time"]=>
       string(19) "2012-06-24 08:00:00"
       ["end_time"]=>
       string(19) "2012-06-24 17:00:59"
     }
   }

如何继续这种趋势?我只能弄清楚如何一次定位一个索引([0]),我知道需要一个foreach循环来完成它但不确定如何编写它。

问候

4 个答案:

答案 0 :(得分:0)

试试这个:

for ($i=0; $i<count($a); $i++)
{
  $merge[$i] = $a[$i] + $b[$i];
}

答案 1 :(得分:0)

您需要使用array_merge()

http://php.net/manual/en/function.array-merge.php

希望它有所帮助。

答案 2 :(得分:0)

Foreach循环将如下所示。

$merge = array();
for($i =0; $i<count($a); $i++)
   $merge[$i] = $a[$i] + $b[$i];

答案 3 :(得分:0)

$array1, $array2, $result = array();
foreach($array1 as $ind => $item)
    $result[$ind] = array( 
        'ID' => $item['ID'], 
        'start_time' => $item['start_time'], 
        'end_time' => $array2[$ind]['end_time']
    );