一.常用方法

  1. all()方法,转换为属性形式输出,使用 dd 方法看类型;
$collection = collect([1, 2, 2, 3, 4, 4, 4]);
dd($collection->all());

PS:$collection->dd()方法可以以 dd()模式输出,还有 dump()模式;

  1. avg()方法返回平均值;
//返回平均值
$collection = collect([1, 2, 3, 4]);
return $collection->avg(); //返回分组平均值
$collection = collect([['男'=>1], ['女'=>1], ['男'=>3]]);
return $collection->avg('男');

  1. count()方法返回集合总数;
return $collection->count();

PS:相关的还有 sum()、min()、max()等统计;

  1. countBy()方法返回数值出现的次数或回调函数指定值出现的次数;
//值出现的次数
$collection = collect([1, 2, 2, 3, 4, 4, 4]);
return $collection->countBy(); //回调搜索相同指定片段的值的次数
$collection = collect(['xiaoxin@163.com', 'yihu@163.com', 'xiaoying@qq.com']);
return $collection->countBy(function ($value) { return substr(strrchr($value, '@'), 1);
});


PS:相关的还有 groupBy()、keyBy()方法;

  1. diff()方法返回集合数组之间不相同的部分,组合新的集合;
//diff 返回两个集合中不相同的
$collection = collect([1, 2, 3, 4, 5]);
return $collection->diff([3, 5]);

PS:其中还有 diffAssoc()、diffKeys()派生方法;

  1. duplicates()返回重复的值;
$collection = collect([1, 2, 2, 3, 4, 5, 5, 6]);
return $collection->duplicates(); //严格派生方法:
duplicatesStrict()

  1. first()返回成立后的第一个值;
//返回判断成立的第一条数值
$collection = collect([1, 2, 3, 4]);
return $collection->first(function ($value) { return $value > 2;
});

PS:相关的还有 every()、except()、only()、firstWhere()、last()等方法;

  1. flatten()将多维数组转换为一维;
$collection = collect(['name'=>'Mr.Lee', 'details'=>['gender'=>'男', 'age'=>100]]);
return $collection->flatten();


  1. get()通过键名找值;
 $collection = collect(['name'=>'Mr.Lee', 'gender'=>'男']); return $collection->get('name');

PS:相关的还有 pluck()等;

  1. has()判断集合中是否存在指定键;
return $collection->has('name');

  1. pop()移出集合中最后一个值;
$collection = collect([1, 2, 3, 4, 5]); //$collection->pop();
return $collection;

PS:相关的还有 pull()、push()、put()方法;

  1. slice()返回指定值后续的集合;
$collection = collect([1, 2, 3, 4, 5]);
return $collection->slice(3);

PS:相关的还有 splice()等方法;

  1. sort()返回指定值后续的集合;
$collection = collect([3, 1 , 5, 2, 7]);
return $collection->sort()->values();


//需要配合 values()方法
PS:相关的有 sortBy()、sortByDesc()、sortKeys()等;

  1. where()系列方法,和数据库条件一样;
$collection = collect([ ['name'=>'Mr.Lee', 'gender'=>'男'], ['name'=>'Miss.Zhang', 'gender'=>'女'] ]);
return $collection->where('name', 'Mr.Lee');

二十三、PHP框架Laravel学习笔记——集合的常用方法相关推荐

  1. 二十二、PHP框架Laravel学习笔记——集合的使用

    一.创建集合 什么是集合?即:它是一种更具读取性和处理能力的数组封装: 比如,我们从数据库得到的数据列表,它就是一种集合: 数据集合,提供了大量的方法方便我们进行各种操作: 除了数据库对象返回的数据集 ...

  2. 十二、PHP框架Laravel学习笔记——构造器的查询表达式

    一.select 查询 select()方法可以制定你想要的列,而不是所有列: //设置显示的列,设置列别名 $users = DB::table('users')->select('usern ...

  3. 二、PHP框架Laravel学习笔记——路由的定义和控制器

    一.路由的定义 什么是路由?路由就是提供接受 HTTP 请求的路径,并和程序交互的功能: 简单点理解,就是为了提供访问程序的 URL 地址,所做的一些设置工作: phpstorm 支持 cmd 操作, ...

  4. 二十四、PHP框架Laravel学习笔记——模型的数据集合

    一.数据集合 数据集合,就是已经将模型方法 get()获取到的数据再进行处理: 比如:map()方法,通过它可以实现类似访问器一样对字段进行处理的效果: $users = User::get(); / ...

  5. 二十七、PHP框架Laravel学习笔记——模型的多对多关联

    二.多对多关联 多对多关联,比前面两种要复杂一些,需要一张中间表,共三张: (1) .users:用户表: (2) .roles:权限表: (3) .role_user:中间表:默认表名,user_i ...

  6. 二十九、PHP框架Laravel学习笔记——Debugbar 调试器

    二.安装使用 通过 composer 在项目中安装 Debugbar,命令如下: composer require barryvdh/laravel-debugbar 生成一个配置文件,给用户配置,可 ...

  7. 二十八、PHP框架Laravel学习笔记——模型的关联查询

    二.关联查询 前几篇博文,了解了三种基础的关联模型,并简单的进行查询: 本节课,我们详细的了解更多的查询方案: //下面两种查询是一样的: $books = User::find(19)->bo ...

  8. 二十六、PHP框架Laravel学习笔记——模型的一对多关联

    二.一对多关联 一对多关联,本质上使用方法和一对一关联类似,内部实现略有不同: 创建另一个模型:book.php,我们看下这个表数据: PS:这里 user_id=19 有三个,也就是蜡笔小新有三本书 ...

  9. 二十五、PHP框架Laravel学习笔记——模型的一对一关联

    一.关联概念 关联模型,即:两张或以上的表进行一定规则的绑定关联: 比如:一个学生(学生表)对应一张个人信息卡(信息表),这种就是一对一: 再比如:一篇博文(帖子表)对应多个评论(评论表),这种就是一 ...

最新文章

  1. 东华计算机学院常珊,常姗 - 东华大学 - 计算机科学与技术学院
  2. C++builder Tokyo 调用com 不正确的变量类型
  3. 报错:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle解决
  4. android-async-http框架之与网络进行数据交互
  5. 将 DataDirect ODBC 驱动程序与 Python 和 pyodbc 一起使用
  6. 计算机组成原理(微课版 谭志虎)试题及答案
  7. 从零实现一个数据库持久层框架kd-jdbc
  8. 原生ajax请求流程
  9. Flink实时数仓(尚硅谷)- 数据采集
  10. 有没有能PC远程控制安卓手机的App?AirDroid实现PC远程控制安卓
  11. 密码如何改变了我的一生
  12. 2022蓝桥模拟-子汉诺塔
  13. 自己搭建的网站,浏览器无法访问此页面解决方法
  14. 【感悟】20岁的人生不应该停止奋斗。----------------努力努力再努力
  15. 苹果微信密码服务器,苹果微信怎么记住密码的登录
  16. oracle锁矩阵,你有多了解Oracle Enqueue lock队列锁机制?
  17. steam助手_Steam的冬季特卖来了!
  18. 守破离——编程的三种境界
  19. Mathematica (24)---求导函数D
  20. Win10日语中文系统语言切换及txt、Excel宏乱码原因分析

热门文章

  1. 12-- 缺失的第一个正数
  2. mysql php7安装配置_centos7无网络下安装部署php7.1.33+mysql5.7.28+apache2.4.6-Go语言中文社区...
  3. dvwa如何打开_DVWA详细 安装
  4. 前端之 jQuery 入门
  5. 清华大学《操作系统》(二十二):文件系统
  6. mac eclipse tomcat mysql_mac下使用eclipse+tomcat+mysql开发 j2ee(一)
  7. Django中的核心思想ORM---元类实现ORM
  8. 关于在软件中添加扫描二维码功能的详细步骤及对应的资源。
  9. c++的thread类(c++线程简单用法)
  10. birt插件 web_Maven方式集成BIRT 4.6 Webviewer