как добавить массив внутри другого в PHP?

#php #laravel

Вопрос:

Я использую laravel. Как я могу создать новый массив и иметь свойства другого. Пример массив кареток может содержать 3 строки со свойствами «информация», но добавляется марка.

 $info = [  ['id' =gt; 1, 'color'=gt; 'blue'],  ['id' =gt; 2, 'color'=gt; 'red'],  ['id' =gt; 3, 'color'=gt; 'yellow'],  ];   $car = [  ['id' =gt; 'id_info', 'brand'=gt; 'toyota', 'color' =gt; 'color_info']   ];  

Комментарии:

1. вы можете использовать array_merge, который может объединять оба массива, но бренд добавляется только к последней записи

2. Массив ( [0] =gt; Массив ( [идентификатор] =gt;gt; 1 [цвет] =gt;gt;gt; синий ) [1] =gt;gt;gt;gt; Массив ( [идентификатор] =gt;gt;gt;gt;gt; 2 [цвет] = gt; gt; gt; gt; gt; красный ) [2] =gt;gt;gt;gt;gt;gt;gt; Массив ( [идентификатор] =gt;gt;gt;gt;gt;gt;gt;gt; 3 [цвет] =gt;gt;gt;gt;gt;gt;gt;gt;gt; желтый ) [3] =gt;gt;gt;gt;gt;gt;gt;gt;gt;gt; Массив ( [идентификатор] =gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt; id_info [бренд] =gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt; toyota [цвет] =gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt; color_info ) )

Ответ №1:

Вы можете перебирать массив и добавлять ключ к каждому массиву

 $info = [  ['id' =gt; 1, 'color'=gt; 'blue'],  ['id' =gt; 2, 'color'=gt; 'red'],  ['id' =gt; 3, 'color'=gt; 'yellow'],  ]; $newInfo = []; foreach($info as $eachInfo){  $newInfo[] = array_merge($eachInfo,['brand' =gt; 'toyota']); }  dd($newInfo);  

Будет производить продукцию, такую как

 array:3 [  0 =gt; array:3 [  "id" =gt; 1  "color" =gt; "blue"  "brand" =gt; "toyota"  ]  1 =gt; array:3 [  "id" =gt; 2  "color" =gt; "red"  "brand" =gt; "toyota"  ]  2 =gt; array:3 [  "id" =gt; 3  "color" =gt; "yellow"  "brand" =gt; "toyota"  ] ]