• 22.Laravel集合的使用


    学习要点:
    1.创建集合
    2.集合方法
    本节课我们来开始学习数据集合的创建和使用方法。
    一.创建集合
    1. 什么是集合?即:它是一种更具读取性和处理能力的数组封装;
    2. 比如,我们从数据库得到的数据列表,它就是一种集合;
    3. 数据集合,提供了大量的方法方便我们进行各种操作;
    4. 除了数据库对象返回的数据集合之外,我们还可以自行创建数据集合;
    //创建一个数据集合
    $collection = collect(['张三', '李四', '王五', null]);
    //使用 dd 查看它的类型
    dd($collection);
    //直接 return 可以返回
    return $collection;
    5. 数据集合提供了大概有三十多个(31?)处理数据集合的方法,可链式调用;
    6. 这里我们把最常用的演示一遍,剩下的所有,可以自行参考手册方法列表;

    1. //以底层数组形式输出
    2. return $collection->all();
    3. //map 方法,类似访问器,可修改输出
    4. return $collection->map(function ($value, $key) {
    5. return $key.'['.$value.']';
    6. });
    7. //支持链式,reject 移出非 true 的值
    8. return $collection->reject(function ($value, $key) {
    9. return $value === null;
    10. })->map(function ($value, $key) {
    11. return $key.'['.$value.']';
    12. });
    13. //filter 筛选为 true 的值,和 reject 相反
    14. return $collection->filter(function ($value, $key) {
    15. return $value === null;
    16. });
    17. //search 找到后返回 key,找不到返回 false
    18. return $collection->search('王五');
    19. //集合的分割
    20. return $collection->chunk(2);
    21. //迭代输出
    22. $collection->each(function ($item, $key) {
    23. echo $item;
    24. });


    PS:这里就介绍这么多,更多的我们去手册扫一遍。做项目时,凭着记忆回头查,慢慢就熟了;
    PS:下一节,我们会花一节课,把最常用的方法再运行一遍加深印象;
    7. 如果三十多个方法都没有你要的,还可以自定义方法,比如说所有英文大写;
    $collection = collect(['Mr.Zhang', '李四', '王五', null]);
    Collection::macro('toUpper', function () {
    //dd($this);
    return $this->map(function ($value) {
    return strtoupper($value);
    });
    });
    return $collection->toUpper();

  • 相关阅读:
    MySQL导入/导出数据
    R语言缺失时间序列的填充及合并:补齐时间序列数据中所有缺失的时间索引、使用merge函数合并日期补齐之后的时间序列数据和另外一个时间序列数据(补齐右侧数据)
    mstsc无法保存RDP凭据, 100%生效
    Timer,时间堆
    nginx共享内存机制详解
    二叉查找树的插入
    为什么那么多自学软件测试的人,后来都放弃了...
    OUT了吧,Kafka能实现消息延时了
    连接表(二)
    webpack使用eslint
  • 原文地址:https://blog.csdn.net/qq_34820433/article/details/130855977