Laravel7.15.0学习中遇到的坑—集合

前言:

最近在学习 laravel 框架,学习的版本是 7.15.0 ,记录一下学习过程中遇到的问题和难点以及一些总结。

简介

Illuminate\Support\Collection 类为处理数组数据提供了流式、方便的封装。Collection 类允许使用方法链对底层数组执行匹配和移除操作,通常每个 Collection 方法都会返回一个新的 Collection 实例。

创建集合

//注:默认情况下,Eloquent 查询的结果总是返回 Collection 实例。
$collection = collect([1, 2, 3]);

整理一下比较常用的方法
each()
each 方法迭代集合中的数据项并传递每个数据项到给定回调:

$collection = $collection->each(function ($item, $key) {
});
$collection->each(function ($item, $key) {
    var_dump($item);
});

map()
map 方法遍历集合并传递每个值给给定回调。该回调可以修改数据项并返回,从而生成一个新的经过修改的集合:

$collection = collect([1, 2, 3, 4, 5]);
$data = $collection->map(function ($item, $key) {
   return $item * 2;
});
$data->all();
return response()->json(['code'=>1,'data'=>$data]);

filter()
filter 方法通过给定回调过滤集合,只有通过给定真理测试的数据项才会保留下来。

$collection = collect([1, 2, 3, 4]);
$filtered = $collection->filter(function ($value, $key) {
    return $value > 2;
});
return response()->json($filtered->toArray());

reduce()
reduce 方法用于减少集合到单个值,传递每个迭代结果到子迭代,其中 reduce() 中可以多传一个参数参与计算。

$collection = collect([1, 2, 3]);
$total = $collection->reduce(function ($carry, $item) {
    return $carry + $item;
},5);
return response()->json($total);

更多的使用方法请参考文档:https://xueyuanjun.com/post/21513

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值