2012-10-25 3 views
0

У меня есть 2 массивов как то:Как объединить 2 массива в 1 массив

array1 
     (
     [0] => Array 
        (
        [id] => 133 
        ) 

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

    ) 

array2 
     (
     [0] => 1 
     [1] => 2 

    ) 

Моя проблема: как я могу объединить два массива в один массив, как:

array3 
     (
     [133] => 1 
     [134] => 2 

    ) 

Спасибо за любого помощь: D

ответ

4

Попробуйте

$array3 = array(); 
foreach ($array1 as $key => $value) { 
    $array3[$value['id']] = $array2[$key]; 
} 
+0

обеспечение его массивы сортируются, что должно сработать. – Layke

+0

Спасибо, это работает: D – user1773168

1
$array3 = array_combine(array_map('current', $array1), $array2); 
+0

Что такое "текущий" на карте? – Layke

+1

Он принимает [текущий] (http://php.net/current) (первый) элемент из дочернего массива, по существу, сплющивая массив. – deceze

+0

Отличный десерт. Это гораздо более аккуратное решение. – Layke

0

Я сделал это так:

<?php 
    $arrayOne = array(
     array("id" => 133), 
     array("id" => 134) 
    ); 
    $arrayTwo = array(1,2); 
    $arrayThree = array(); 
    foreach($arrayOne as $index => $value){ 
     $arrayThree[$value['id']] = $arrayTwo[$index]; 
    } 

если вы делаете

print_r($arrayThree); 

теперь вы получите ваш третий массив:

Array 
(
    [133] => 1 
    [134] => 2 
) 
Смежные вопросы