2012-04-18 2 views
0

У меня есть 2 многомерные массивы:Как объединить два multidimentinal массивы бок о бок в PHP

array1[0][0] = 'yes'; 
array1[0][1] = 'no'; 
array1[1][0] = 'gilbert'; 
array1[1][1] = 'duncan'; 

и

array2[0][0] = 'good'; 
array2[0][1] = 'bad'; 
array2[1][0] = 'vegetables'; 
array2[1][1] = 'chocolate'; 

Я хочу, чтобы создать новый массив из этих 2-х массивов таким образом, что:

array3[0][0] = 'yes'; 
array3[0][1] = 'no'; 
array3[0][2] = 'good'; 
array3[0][3] = 'bad'; 
array3[1][0] = 'gilbert'; 
array3[1][1] = 'duncan'; 
array3[1][2] = 'vegetables'; 
array3[1][3] = 'chocolate'; 

Я использую PHP. Как мне это достичь. PHP array_merge() добавляет один массив в другой. Я хочу создать новый массив с двумя массивами рядом.

ответ

2

Вам нужно просто пройти их. Вы определили довольно конкретный (и интересный) способ их слияния. Я бы, наверное, порекомендовать функцию, как это:

function my_combine_arrays() 
{ 
    // This lets us accept N arrays as an input. 
    $arrList = func_get_args(); 
    $retval = array(); 
    foreach ($arrList as $array) 
    { 
     // Note the $key here. If the arrays have different key types 
     // like an assoc, you may have issues. 
     foreach ($array as $key=>$arrsub) 
     { 
      foreach ($arrsub as $arritem) 
      { 
       $retval[$key][] = $arritem; 
      } 
     } 
    } 
    return $retval; 
} 
+0

Пожалуйста, замените '' for' с foreach' –

+0

@Dan Ли - Хороший вопрос. Слишком много языков. :) –

+0

Это сработало. Благодаря @John Green – Adam

Смежные вопросы