PHP Добавление многомерных массивов вместе - PullRequest
0 голосов
/ 03 января 2019

Мне было интересно, как сложить 2 многомерных массива вместе, я нашел похожие решения, но это не совсем то, к чему я стремлюсь. Может быть, один из вас, ребята, может мне помочь. Да, я знаю, что название почти такое же, как и у других заданных вопросов, но, поверьте мне, я искал свой ответ, но не могу его найти.

# array1
Array
(
    [0] => Array
        (
            [0] => Product1 
            [1] => Description product 1          
        )

    [1] => Array
        (
            [0] => Product2
            [1] => Description product 2       
        )

    [2] => Array
        (
            [0] => Product3
            [1] => Description product 3       
        )
)

# array2
Array
(
    [0] => Array
        (
            [0] => Price 1
            [1] => Something product 1        
        )

    [1] => Array
        (
            [0] => Price 2
            [1] => Something product 2    
        )

    [2] => Array
        (
            [0] => Price 3
            [1] => Something product 3      
        )
)

#resultant array
Array
(
    [0] => Array
        (
            [0] => Product1 
            [1] => Description product 1
            [3] => Price 1
            [4] => Something product 1
        )

    [1] => Array
        (
            [0] => Product2
            [1] => Description product 2
            [2] => Price 2
            [3] => Something product 2      
        )

    [2] => Array
        (
            [0] => Product3
            [1] => Description product 3  
            [2] => Price 3
            [3] => Something product 3   
        )
)

Как видите, я бы хотел сложить 2 массива вместе. Я видел несколько других ответов, но они используют встроенную функцию php array_merge(). Если я использую это, это приведет к чему-то вроде этого:

#resultant array
Array
(
    [0] => Array
        (
            [0] => Product1 
            [1] => Description product 1
        )

    [1] => Array
        (
            [0] => Product2
            [1] => Description product 2     
        )

    [2] => Array
        (
            [0] => Product3
            [1] => Description product 3   
        )
    [3] => Array
        (
            [0] => Price 1
            [1] => Something product 1        
        )

    [4] => Array
        (
            [0] => Price 2
            [1] => Something product 2    
        )

    [5] => Array
        (
            [0] => Price 3
            [1] => Something product 3      
        )
)
)

Как видите, это не то, что я ищу, к сожалению. Я надеюсь найти решение для моей проблемы.

Спасибо за чтение моего поста.

Cheers Cody

Ответы [ 2 ]

0 голосов
/ 03 января 2019

вы можете сделать это

$final = [];
foreach($arr1 as $key => $value){
// loop over the second array elements
 foreach($arr2[$key] as $key2 => $value2){
 // append the second array values to the first array
   $value[] = $value2;
 }
// append the new array to the final array
$final[] = $value;
}
0 голосов
/ 03 января 2019

Вы можете применить array_merge к каждому из ваших подмассивов, используя array_map:

$result = array_map('array_merge', $array1, $array2);

Для получения дополнительной информации обратитесь к руководству по array_map , особенно к примеру 3.

...