2012-01-16 3 views
2

Привет, У меня есть два массива, как этотКак слить два мутировальных массива в соответствии со значениями?

array (
[0]=>array(
    [0]=>10, 
    [1]=>Some Name.. 
), 
[1]=>array(
    [0]=>11, 
    [1]=>Some Name..  
), 
[2]=>array(
    [0]=>13, 
    [1]=>Some Name..  
) 
) 

Другой массив как этот

array (
[0]=>array(
    [0]=>13, 
    [1]=>Viewed 
    ) 
) 

Как я могу сливаться выше двух массивов без использования какой-либо цикл? Для этого доступны любые функции php? Мне нужно это своего рода из положить

array (
    [0]=>array(
       [0]=>10, 
       [1]=>Some Name.. 
    ), 
    [1]=>array(
       [0]=>11, 
       [1]=>Some Name.. 
    ), [2]=>array(
       [0]=>13, 
       [1]=>Some Name.. 
       [2]=Viewed 
    ) 
) 
+0

Почему вы resrticted к решениям, которые не используют зацикливание? Знаете ли вы, что любое решение будет включать цикл, даже если он явно не отображается в PHP-коде? – Borodin

+0

что с петлями? – maiwald

+0

Возможный дубликат http://stackoverflow.com/questions/8561987/php-merge-two-arrays –

ответ

6

Вы можете использовать функцию PHP array_merge_recursive. Смотрите пример:

<?php 
$ar1 = array("color" => array("favorite" => "red"), 5); 
$ar2 = array(10, "color" => array("favorite" => "green", "blue")); 
$result = array_merge_recursive($ar1, $ar2); 
print_r($result); 
?> 
0
<?php 
$array1 = array("color" => "red", 2, 4); 
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4); 
$result = array_merge($array1, $array2); 
print_r($result); 
?> 

Для получения более подробной Проверил:

http://php.net/manual/en/function.array-combine.php

http://php.net/manual/en/function.array-merge.php

СМОТРИТЕ ТАКЖЕ

массив array_merge (массив $ Array1 [, массив $ ...]) array_merge_recursive() - Объединение двух или более массивов рекурсивно array_combine() - Создает массив, используя один массив для ключей и другой для его значений операторов массива

+0

Это не сработает – learner

+0

почему так? @lerner – Infinity