2013-09-06 4 views
-1

У меня есть следующие два массива. Мне нужен способ в PHP, чтобы объединить их вместе, чтобы значения в индексе [i] из обоих массивов были добавлены к одному и тому же индексу в конечном массиве.Объединение массива PHP по индексу

Массив 1

[0] => '123456' 
[1] => '654123' 
[2] => '987456' 
[3] => '489522' 
[4] => '014779' 

Массив 2

[0] => 'feature' 
[1] => 'promo' 
[2] => 'other' 
[3] => 'start' 
[4] => 'end' 

Final массива Мне нужно

[0] => ['123456', 'feature'] 
[1] => ['654123', 'promo'] 
[2] => ['987456', 'other'] 
[3] => ['489522', 'start'] 
[4] => ['014779', 'end'] 

ответ

0

Поскольку оба имеют цифровую клавишу, вы можете сделать это с Еогеасп:

foreach ($array2 as $key => $value) { 
    $finalArray[$value] = $array1[$key]; 
} 

Это простое решение, но оно должно работать. Он просто получает каждое значение второго массива и помещает его в последний массив.

Или, если вам нужен номер в конечном массиве также:

foreach ($array2 as $key => $value) { 
    $finalArray[$key] = array($value, $array1[$key]); 
} 

Или, самый простой способ это просто использовать функцию array_merge:

$finalArray = array_merge($array1, $array2); 

here Manual.

Надеюсь, это поможет вам.

1
foreach ($array1 as $index => $value1) { 
    $finalArray[$index] = array($value1, $array2[$index]); 
} 
+0

Первый ответ, который решает вопрос ОП +1 –

+0

Первый ответ? Мой раньше и более подробно! – PDev

+0

@PDev: ваш ответ содержит три фрагмента кода, только вторая из которых работает по назначению. Остальные два просто умаляют его ценность. – Jon

0

Попробуйте этот фрагмент :)

$array_combined = array(); 
foreach($array1 as $key=>$value) 
{ 
    $array_combined[$key] = array($array1[$key], $array2[$key]); 
} 
9

До сих пор самый простой способ заключается в использовании array_map:

$result = array_map(null, $array1, $array2)); 

See it in action.

+3

И самый изящный ... :) –

+0

Вот рабочая демонстрация для тех, кого интересует: http://codepad.org/hfgb2hKV –

+0

О, это выглядит великолепно :) – Gadoma

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