2016-08-01 3 views
0

У меня два массива, как этогоКак объединить два массива, где один массив динамических вложенными значения

whole_orders $

Array 
(
    [2] => Array 
     (
      [0] => Array 
       (
        [id] => 3 
        [food_id] => 1 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [id] => 2 
        [food_id] => 2 
       ) 

      [1] => Array 
       (
        [id] => 1 
        [food_id] => 1 
       ) 

     ) 

) 

И $ массив

Array 
(
    [2] => Array 
     (
      [0] => Array 
       (
        [count] => 1 
        [subtotal] => 103.42 
        [tax] => 18.42 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [count] => 2 
        [subtotal] => 303.42 
        [tax] => 38.42 
       ) 

     ) 

) 

Здесь у меня два массива, такие как $whole_orders & $array, из которых мне нужно объединить $array значения в $whole_orders ..

И $whole_orders, имеющие вложенные значения, которые являются динамическими ..

Наконец мой массив должен быть, как это ..

Array 
(
    [2] => Array 
     (
      [0] => Array 
       (
        [id] => 3 
        [food_id] => 1 
       ) 

      [1] => Array 
       (
        [count] => 1 
        [subtotal] => 103.42 
        [tax] => 18.42 
       ) 
     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [id] => 2 
        [food_id] => 2 
       ) 

      [1] => Array 
       (
        [id] => 1 
        [food_id] => 1 
       ) 
      [2] => Array 
       (
        [count] => 2 
        [subtotal] => 303.42 
        [tax] => 38.42 
       ) 
     ) 

) 

Он должен приложить вложенным значения $whole_orders array's.

Если вы считаете, что мое название неправильное pl облегчить его изменить ..

Заранее спасибо ..

+0

Какую логику вы уже пробовали? – Saurabh

ответ

1

Просто сделай это будет достичь вы хотите выход, но когда, если граф является одинаковым для массива

foreach($array as $arrayKey => $arrayValue){ 
    foreach($arrayValue as $key => $value){ 
     $whole_orders[$arrayKey][] = $value; 
    } 
} 

print_r($whole_orders); 
+0

Спасибо, soooo muchhh ... :) Вы действительно спасли мое время .... Это именно то, что я хочу ... :): D –

+0

спасибо вам дорого. –

2

Используйте Еогеасп и перебирать свой $ массив и присвоенные $ whole_orders

<?php 


// if $array is always single dimension array 
foreach($array as $array_key=>$array_val) 
{ 
    $whole_orders [$array_key][]=$val[0];  
} 

// or if $array is multi dimension array 
foreach($array as $array_key=>$array_val) 
{ 
    foreach($array_val as $key=>$val) 
    { 
     $whole_orders [$array_key][]=$val; 
    } 

} 

?> 
+0

Я пробовал, как это, но это не сработало для меня .. :( –

+0

любые ошибки ?, в соответствии с вашим выходом он будет работать –

+0

Он создает другой вложенный массив в массиве '$ whole_orders' –

1

Вы можете попробовать ниже подход ..

$arr3 = array(); 
    foreach($arr1 as $key => $value) : 
     $arr3[$key] = $value; 
     if(isset($arr2[$key])) : 
      foreach($arr2[$key] as $k=>$val) : 

       $arr3[$key][] = $val; 
      endforeach; 
     endif; 
    endforeach; 
    print_r($arr3); 
+0

Спасибо за предложение Sunil kumar .. :) –