Как использовать коллекцию для объединения массивов в laravel, чтобы стать ключом? - PullRequest
0 голосов
/ 14 мая 2018

У меня есть массив массивов, например:

array (
array("Delhi", 22, "The capital of India"), 
array("Varanasi", 23, "Oldest Living City"), 
array ("Moscow", 24, "Capital of Russia"), 
array ("Konya", 25, "The city of Rumi"), 
array("Salzburg", 26, "The city of Mozart")
);

Я хочу создать связанную коллекцию, например, так:

['city' => "Delhi",
'id' => 22,
'description' => "The capital of India"
], 
['city' => "Varanasi",
'id' => 23,
'description' => "Oldest Living City"
], 
['city' => "Moscow",
'id' => 24,
'description' => "Captial of Russia"
]

Это можно сделать, передав данные черезцикл, но есть ли в коллекции что-нибудь, что может сделать это?

1 Ответ

0 голосов
/ 14 мая 2018

Можно использовать array_combine или объединить из Laravel

$collection = array(
    array("Delhi", 22, "The capital of India"),
    array("Varanasi", 23, "Oldest Living City"),
    array("Moscow", 24, "Capital of Russia"),
    array("Konya", 25, "The city of Rumi"),
    array("Salzburg", 26, "The city of Mozart")
);


array_map(function($array){
    return array_combine(['city', 'id', 'description'], $array);
}, $collection);

//Or with a Laravel collection
collect($collection)->map(function($arr){
    return array_combine(['city', 'id', 'description'], $arr);
});
...