You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何使用Collection将索引数组转为关联集合

使用Laravel Collection转换索引数组为关联集合

当然可以!Laravel的Collection类提供了非常优雅的方式来完成这个转换,完全不需要手动写循环逻辑。

你只需要利用collect()把原数组转为Collection实例,再通过map()方法遍历每个子数组,将其映射为带有指定键名的关联数组即可:

// 你的原始二维索引数组
$originalArray = [
    ["Delhi", 22, "The capital of India"],
    ["Varanasi", 23, "Oldest Living City"],
    ["Moscow", 24, "Capital of Russia"],
    ["Konya", 25, "The city of Rumi"],
    ["Salzburg", 26, "The city of Mozart"]
];

// 转换为目标关联集合
$transformedCollection = collect($originalArray)->map(function ($item) {
    return [
        'city' => $item[0],
        'id' => $item[1],
        'description' => $item[2]
    ];
});

// 如果需要将集合转为普通PHP数组,调用toArray()即可
$transformedArray = $transformedCollection->toArray();

如果你的项目使用PHP 7.4及以上版本,还可以用更简洁的箭头函数写法:

$transformedCollection = collect($originalArray)->map(fn($item) => [
    'city' => $item[0],
    'id' => $item[1],
    'description' => $item[2]
]);

补充说明

  • map()方法会遍历集合中的每一个元素,返回一个包含转换后元素的新Collection,不会修改原数组/集合。
  • 后续如果需要对转换后的结果做进一步操作(比如过滤特定城市、排序),可以直接链式调用Collection的其他方法,比如filter()、sortBy()等,非常灵活。

内容的提问来源于stack exchange,提问作者Nishant Sah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:30:03