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

一.常用方法

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

在这里插入图片描述

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

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

相关文章

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 可以对输出的字…

const参数,const返回值与const函数

在C程序中,经常用const 来限制对一个对象的操作,例如,将一个变量定义为const 的: const int n3; 则这个变量的值不能被修改,即不能对变量赋值。 const 这个关键字经常出现在函数的定义中,而且会出现在不同…

python简笔画怎么画_怎样用tk语句在Python下画一棵树

展开全部 1.代码的结2113构: 本代码有两个子5261函数组成,据图有main函数4102和画树函数组成。 2.编写画1653树函数: 画树函数,就是用来画出我们的树的一种子函数,代码如下:def tree(plist,l,a,f): if l>…

论文阅读 - 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学习笔记——模型的一对一关联

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

linux-0.11内核 调试教程+GCC源代码

http://pan.baidu.com/share/home?uk453348606&viewshare#category/type0 http://blog.csdn.net/oldlinux/article/details/42558445转载于:https://www.cnblogs.com/zengkefu/p/5563351.html

python 私有属性_Python3伪私有属性

1:伪私有属性介绍 在Python中一切都是对象,并且类的所有属性和方法都是公有的(public),并不存在private 关键字来声明私有方法或属性。那么在Python中怎么实现像其他编程语言一样的私有属性呢?其实只需在属性前加上双下划线(但是结…

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

文章目录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…

数据仓库参考

虽然大多数看起来稀里糊涂&#xff0c;不过先留档&#xff0c;实践过程中再回头整理总结。 * 系统设计与架构笔记:ETL工具开发和设计的建议 * 数据仓库原理<2>&#xff1a;数据仓库系统的体系结构 * 数据仓库开发之路之一--准备工作转载于:https://www.cnblogs.com/oDora…

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

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

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

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

论文阅读 - 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(上传者&#xff1a;JoneJ…

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

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

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

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

读书笔记第五章

开发板是开发和学习嵌入式技术的主要硬件设备&#xff0c;尽管可以在PC上开发Linux驱动&#xff0c;然后重新编译成ARM架构的Linux驱动模块。但最终都是要在开发板上测试的。主要是因为ARM架构的开发板基于X86架构的PC在CPU指令以及二进制格式上都有所不同。 …