2017-03-17 135 views
0

我有兩個數組,我想加入他們。這兩個數組都是foreach循環的產物。第一個是:PHP加入兩個多維數組

$cleanNums[] = array(
    '01'=>$numbers[1], 
    '02'=>$numbers[2], 
    '03'=>$numbers[3], 
    '04'=>$numbers[4], 
    '05'=>$numbers[5], 
    ); 

和第二個是:

$newDates[] = array(
    'day'=>$cleanDate[1], 
    'month'=>$cleanDate[2], 
    'year'=>$cleanDate[3], 
    'draw'=>$cleanDate[6], 
    ); 

使用array_merge $weeklyValues = array_merge($newDates,$cleanNums);我越來越:

Array 
(
    [0] => Array 
     (
      [day] => 1st 
      [month] => March 
      [year] => 2017 
      [draw] => 660 
     ) 

    [1] => Array 
     (
      [01] => 3 
      [02] => 23 
      [03] => 40 
      [04] => 20 
      [05] => 28 
     ) 
) 

我想我的輸出如下:

Array 
(
    [0] => Array 
     (
      [day] => 1st 
      [month] => March 
      [year] => 2017 
      [draw] => 660 
      [01] => 3 
      [02] => 23 
      [03] => 40 
      [04] => 20 
      [05] => 28 
     ) 
) 

回答

0

請使用此代碼:

$resultArray = array(
    0 => current($newDates) + current($cleanNums) 
); 

print_r($resultArray); 
0

array_merge是做http://php.net/manual/en/function.array-merge.php的方式。錯誤輸出的原因是您定義變量的方式,例如

$cleanNums[] = array(...)

會導致嵌套數組:

array(1) { 
    [0]=> 
    array(5) { 
    ... 
    } 
} 

爲了避免它要麼改變分配方式:

$cleanNums = array(...) 

或者你如何將它作爲array_merge參數的方式:

$weeklyValues = array_merge($newDates[0],$cleanNums[0]); 

當然需要應用$newDates

0

我假設$ cleanNums和$ newDates是多維數組,並且會得到更多的[]值;

$weeklyValues = array(); 

foreach($cleanNums as $array) 
{ 
    $weeklyValues = array_merge($weeklyValues,$array); 
} 

foreach($newDates as $array) 
{ 
    $weeklyValues = array_merge($weeklyValues,$array); 
} 

print_r($weeklyValues); 
0
$count = count($newDates); 
$mergedArray = array(); 
for($i=0; $i < $count; $i++){ 
    //assuming both arrays have equal number of records 
    $mergedArray[] = current($newDates[$i]) + current($cleanNums[$i]); 
} 
var_dump($mergedArray); 
+1

儘管此代碼可以回答這個問題,提供有關爲什麼和/或如何代碼回答了這個問題提高了其長期價值的其他方面。 –