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

一.创建集合

  1. 什么是集合?即:它是一种更具读取性和处理能力的数组封装;
  2. 比如,我们从数据库得到的数据列表,它就是一种集合;
  3. 数据集合,提供了大量的方法方便我们进行各种操作;
  4. 除了数据库对象返回的数据集合之外,我们还可以自行创建数据集合;
//创建一个数据集合 
$collection = collect(['张三', '李四', '王五', null]); //使用 dd 查看它的类型 
dd($collection); //直接 return 可以返回 
return $collection;

在这里插入图片描述

  1. 数据集合提供了大概有三十多个(31?)处理数据集合的方法,可链式调用;
  2. 这里我们把最常用的演示一遍,剩下的所有,可以自行参考手册方法列表;
//以底层数组形式输出 
return $collection->all(); //map 方法,类似访问器,可修改输出 
return $collection->map(function ($value, $key) { return $key.'['.$value.']';});

在这里插入图片描述
在这里插入图片描述

//支持链式,reject 移出非 true 的值 
return $collection->reject(function ($value, $key) { return $value === null; })->map(function ($value, $key) { 	return $key.'['.$value.']'; }); //filter 筛选为 true 的值,和 reject 相反 
return $collection->filter(function ($value, $key) { return $value === null; 
});

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//search 找到后返回 key,找不到返回 false 
return $collection->search('王五'); //集合的分割 
return $collection->chunk(2); //迭代输出 
$collection->each(function ($item, $key) { echo $item; }); 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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();

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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

一.常用方法 all()方法,转换为属性形式输出,使用 dd 方法看类型; $collection collect([1, 2, 2, 3, 4, 4, 4]); dd($collection->all()); PS:$collection->dd()方法可以以 dd()模式输出,还有 du…

mac看图软件哪个好用_细数Mac上那些好用且免费的软件(三)

许多朋友购买了Mac电脑之后发现很多软件都没有,而且苹果商店好多软件都是收费的。那有没有免费的软件也能满足日常的需求呢?macw小编就为大家推荐一些免费且超级好用的软件,赶快来看看有没有你需要的吧!细数Mac上那些好用且免费的…

图像表格实线和虚线检测

文章目录1 背景简述2 camelot中的方法2.1 二值化2.2 腐蚀膨胀2.3 轮廓检测2.4 结果展示3 基于霍夫直线检测的方法3.1 霍夫直线检测原理3.2 概率霍夫直线检测3.3 霍夫直线应用参考资料1 背景简述 图像中的表格结构化是一个比较热门的话题,其输入是一张图片&#xff…

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

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

论文阅读 - AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss

文章目录1 概述2 模型架构3 模块解析3.1 获取梅尔频谱3.2 speaker encoder3.3 AutoVC3.4 Vocoder4 关键部分参考资料1 概述 voice conversion这个任务的目标是输入两个音频,其输入是两段音频,一段音频称为content_audio,另一段称为speaker_a…

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

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

小工具:基于颜色的视频和图片切割

文章目录1 前言2 方案简述3 效果1 前言 最近做一个短视频相关的项目的时候,发现输入的视频有很多是有黑边的,有些可能是白边或者其他颜色的边。这对下游的模型处理有很大的影响。于是就写了一个自动判断填充边的颜色,并根据该颜色自动切割视…

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

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

论文阅读 - An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

文章目录1 概述2 方法简述2.1 encoder之前2.2 encoder之后3 实验结果参考资料1 概述 这篇论文是一篇将tranformer引入到图像领域的里程碑式的文章。因为这是第一次在处理图像时,将所有的卷积模块统统抛弃,只使用attention。并且实验证明了只用attention…

python五子棋人机对战_Python:游戏:五子棋之人机对战

原标题:Python:游戏:五子棋之人机对战 开端 画棋盘 首先肯定是要画出棋盘来,用 pygame 画出一个 19 19 或 15 15 的棋盘并不是什么难事,这在之前的文章中已经多次用到,就不赘述了。 画棋子 需要说一下的是…

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

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

论文阅读 - Is Space-Time Attention All You Need for Video Understanding?

文章目录1 概述2 模型结构2.1 模型输入2.2 attention模块2.3 分类模块3 模型分析3.1 不同attention方式3.2 不同的输入3.3 不同的模型3.4 不同的预训练数据3.5 不同的数据量3.6 position embedding的影响3.7 长输入时长3.8 不同的transformer3.9 不同的patch size3.10 attentio…

iOS中常见的6种传值方式,UIPageViewController

通过属性传值、方法传值、代理传值、Block传值、单例传值、通知传值6种方式进行不同视图之间的传值。不同方式只需要在AppDelegate中更改下UINavigationController的根控制器即可。使用很简单的实例让你很快理解不同的传值方式。 UIPageViewController(上传者:JoneJ…

websocket 获取ip_Spark+Kafka+WebSocket+eCharts实时分析-完全记录(1)

本系列内容:Kafka环境搭建与测试Python生产者/消费者测试Spark接收Kafka消息处理,然后回传到KafkaFlask引入消费者WebSocket实时显示版本:spark-2.4.3-bin-hadoop2.7.tgzkafka_2.11-2.1.0.tgz------------------------第1小节:Kaf…

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

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

搞懂CRF

文章目录1 前言2 Log-linear model3 MEMM3.1 模型概述3.2 label bias问题4 CRF4.1 模型概述4.2 模型训练4.3 模型解码4.4 小结参考资料1 前言 条件随机场(conditional random field, CRF)是在建立序列模型时的常用模块,它的本质就是描述观测到的序列xˉ\bar{x}xˉ对…

skywalking 安装_SkyWalking全链路追踪利器

随着目前系统架构的复杂度越来越高(中台、微服务),并且线上应用的多级监控覆盖到了通讯、应用处理过程监控并且实现端到端的应用监测,线上性能故障的快速定位修复;而传统的监控分析方式已经无法满足我们的需求,因此许多强大的APM工…

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

二.安装使用 通过 composer 在项目中安装 Debugbar,命令如下: composer require barryvdh/laravel-debugbar 生成一个配置文件,给用户配置,可以根据需求进行配置; php artisan vendor:publish --provider…

论文阅读 - Video Swin Transformer

文章目录1 概述2 模型介绍2.1 整体架构2.1.1 backbone2.1.2 head2.2 模块详述2.2.1 Patch Partition2.2.2 3D Patch Merging2.2.3 W-MSA2.2.4 SW-MSA2.2.5 Relative Position Bias3 模型效果参考资料1 概述 Vision Transformer是transformer应用到图像领域的一个里程碑&#x…

rocketmq queue_RocketMQ 实战(三) - 消息的有序性

■ RocketMQ有序消息的使用1 为什么需要消息的有序性比如用户张三终于挣了一百存在在银行卡里存取款,对应两个异步的短信消息,肯定要保证先存后取吧,不然都没钱怎么发了取钱的消息呢! M1 - 存钱 M2 - 取钱而mq默认发消息到不同q显然是行不通的,会乱序 需要发往同一个q,先进先出…