如何使用集合合并laravel中的数组,使其中一个成为关键?

如何使用集合合并laravel中的数组,使其中一个成为关键?,laravel,laravel-5.6,laravel-collection,Laravel,Laravel 5.6,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 (
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"
]

这可以通过循环传递数据来实现,但是集合中是否有任何东西可以实现这一点

可以使用array_combine或来自Laravel的combine

$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);
});

可以使用阵列联合收割机或来自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);
});

我理解这里的逻辑有点困难。。。我将解释如何。。。这里,
array\u组合(['city','id','description'],$array)
仅当$array是我们集合中的一行时才起作用,例如:
array(“萨尔茨堡”,26,“莫扎特之城”)
我们还调用了array_map函数,它接受两个输入,第一个是未命名函数,第二个是集合。这个未命名函数是如何将$array作为输入的?这就是array_map的工作原理(map是Laravel的等价物)我在理解这里的逻辑时有点困难。。。我将解释如何。。。这里,
array\u组合(['city','id','description'],$array)
仅当$array是我们集合中的一行时才起作用,例如:
array(“萨尔茨堡”,26,“莫扎特之城”)
我们还调用了array_map函数,它接受两个输入,第一个是未命名函数,第二个是集合。这个未命名函数是如何将$array作为输入的?这就是array_map的工作原理(map是Laravel的等价物)