#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" ] ]