如何在保留原键名的情况下提取Laravel集合元素
Laravel集合提取嵌套元素并保留原键名
要实现提取每个嵌套数组的第一个元素同时保留原键名,你可以使用集合的map方法,它会遍历集合中的每个元素并保留原键:
方法1:使用匿名函数
$flattenedHeaders = $headersCollection->map(function ($value) { return $value[0]; });
方法2:使用箭头函数(Laravel 8+支持)
$flattenedHeaders = $headersCollection->map(fn($value) => $value[0]);
执行后得到的集合结构就是你需要的:
#items: array:4 [▼ "X-Page" => "1" "X-Per-Page" => "100" "X-Total" => "1116" "X-Total-Pages" => "12" ]
额外说明
- 如果想直接修改原集合而非创建新集合,可以用
transform方法,用法和map一致:$headersCollection->transform(fn($value) => $value[0]); pluck(0)之所以会丢失键名,是因为它的作用是提取指定字段的值并以数字索引重新构建集合,而非保留原键的遍历转换。
内容的提问来源于stack exchange,提问作者HubertNNN
相关产品推荐
相关产品推荐

