2015-09-08 5 views
0

У меня есть многомерный массив PHP, как показано ниже. Я хотел бы объединить другой массив в этом массиве:Сгладить многомерный массив детей

array(3) { 
    [0]=> 
    array(4) { 
    ["id"]=> "1" 
    ["register"]=> "Value 1" 
    ["link"]=> "link 1" 
    ["approval"]=> "yes" 
    } 
    [1]=> 
    array(4) { 
    ["id"]=> "2" 
    ["register"]=> "Value 2" 
    ["link"]=> "Value 2" 
    ["approval"]=> "no" 
    } 
    [2]=> 
    array(4) { 
    ["id"]=> "3" 
    ["register"]=> "Value 3" 
    ["link"]=> "link 3" 
    ["approval"]=> "pending" 
    } 
} 

массив, который я хотел бы объединить выглядит следующим образом:

array(4) { 
["image"]=> "123.png" 
["start"]=> "8 October" 
["end"]=> "9 October" 
["days"]=> "2 Days" 
} 

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

Я хотел бы массив выглядеть выглядеть следующим образом:

array(3) { 
    [0]=> 
    array(8) { 
    ["id"]=> "1" 
    ["register"]=> "Value 1" 
    ["link"]=> "link 1" 
    ["approval"]=> "yes" 
    ["image"]=> "image1.png" 
    ["start"]=> "8 October" 
    ["end"]=> "9 October" 
    ["days"]=> "2 Days" 
    } 
    [1]=> 
    array(8) { 
    ["id"]=> "2" 
    ["register"]=> "Value 2" 
    ["link"]=> "Value 2" 
    ["approval"]=> "no" 
    ["image"]=> "image2.png" 
    ["start"]=> "8 October" 
    ["end"]=> "9 October" 
    ["days"]=> "2 Days" 
    } 
    [2]=> 
    array(8) { 
    ["id"]=> "3" 
    ["register"]=> "Value 3" 
    ["link"]=> "link 3" 
    ["approval"]=> "pending" 
    ["image"]=> "image3.png" 
    ["start"]=> "8 October" 
    ["end"]=> "9 October" 
    ["days"]=> "2 Days" 
    } 
} 

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

+2

Почему вы не пересекаете массив? –

+0

Поскольку я не уверен, как, оба массива создаются отдельно. –

+1

Вы посмотрели http://stackoverflow.com/questions/16252000/merging-two-array-elements-into-one-array-element-in-php –

ответ

1

попробовать это

$arr = array(0=>array(1=>"dsfdsf",2=>"udyauyd"),1=>array(1=>"dsfdsf",2=>"udyauyd"),2=>array(1=>"dsfdsf",2=>"udyauyd")); 
$arr1 = array(3=>"asdasd",4=>"fdsjldksfj",5=>"yerteruywet"); 
foreach($arr as $value) 
{ 
    $new_array[] = $value + $arr1; 
} 

print_r($new_array); 

У меня есть использовать некоторый массив выборки, чтобы продемонстрировать логику.

+0

Спасибо, я действительно закончил тем, что делал это именно так. –

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