2013-05-10 2 views
-1

У меня есть 2 массивы, которые я хочу поставить в 1 многомерный массивСоздание многомерного массива

$array_result = array(); 
Array1 = a,b,c,d 
Array2 = 1,2,3,4 

Результат, который я хочу, чтобы это

$array_result = [0] => Array 
    (
     [0] => a 
     [1] => 1 
    ) 

[1] => Array 
    (
     [0] => b 
     [1] => 2 

    ) etc... 

Я не могу работать, как сделать это. Тогда длина массива Array1 и Array2 изменяется, поскольку это динамические данные.

Может кто-нибудь указать мне в правильном направлении?

ответ

2

Попробуйте эту

$arr1 = array(1,2,3,4); 
$arr2 = array('a','b','c','d'); 
$arr3 = array(); 
for($i = 0;$i< count($arr1);$i++) { 
    $arr = array(); 
    $arr[] = $arr2[$i]; 
    $arr[] = $arr1[$i]; 
    array_push($arr3,$arr); 
} 

Выходной

Array 
(
[0] => Array 
    (
     [0] => a 
     [1] => 1 
    ) 
[1] => Array 
    (
     [0] => b 
     [1] => 2 
    ) 
[2] => Array 
    (
     [0] => c 
     [1] => 3 
    ) 
[3] => Array 
    (
     [0] => d 
     [1] => 4 
    ) 
) 

Codepad Demo

+0

Вы используете '$ arr []', но у вас есть накладные расходы на вызов функции с помощью 'array_push()' для той же самой вещи. Кроме того, что произойдет, если оба массива не имеют одинаковый размер, например, если 'count ($ arr1)> count ($ arr2)'? Это [будет генерировать тонны неопределенных уведомлений о смещении] (http://viper-7.com/UfrHBC). – nickb

+1

Мои массивы всегда одного размера. Спасибо, Йогеш! –

0

Используйте array_merge() функцию. Он должен делать то, что вы хотите сделать.

$array_result=array_merge($array1, $array2, ...); 
Смежные вопросы