创建集合:

//数组1
$connection = collect([
['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com'],
['name'=>'emma','age'=>'17','email'=>'test@qq.com'],
['name'=>'kevin','age'=>'19','email'=>'ceshi@163.com'],
['name'=>'william','age'=>'20','email'=>'test@163.com'],
]); //数组2
$connection2 = collect([3,5,2,4,1]); //数组3
$connection3 = collect(['name'=>'jack','age'=>'18','email'=>'ceshi@qq.com']);

计算平均值:

$connection->avg('age');//多维数组
$connection->avg();//一维数组

计算总数:

$connection->count();

计算集合中每个值的出现次数:

$connection->countBy(function($value) {
return substr(strrchr($value['email'], "@"), 1);
});

返回两个集合中差值集合:

$connection2->diff([2,3,4]);

返回满足运算结果的第一条数据:

$connection->first(function($value) {
return $value['age'] > 2;
});

多维数组转化成一维数组:

$connection->flatten();

获取指定键的值:

$connection3->get('name');

判断键是否存在:

$connection3->has('name');

移出最后一个值:

$connection2->pop();

获取指定键信息并删除:

$connection3->pull('email');

追加信息:

$connection2->push(6);

追加数组信息:

$connection3->put('sex', 'boy');

返回指定元素个数之后的数据:

$connection3->slice(1);

正序排序:

$connection2->sort();//只排序,不修改下标
$connection2->sort()->values();//排序并修改下标

倒序倒序:

$connection2->sortDesc();//只排序,不修改下标
$connection2->sortDesc()->values();//排序并修改下标

获取符合条件的数据:

$connection->where('age', '>', 18);

将集合分割为指定大小的块:

$connection2->chunk(2);

参考文档:
https://learnku.com/docs/laravel/8.x/collections/9390
https://learnku.com/articles/20894
https://learnku.com/laravel/t/12571/remember-a-performance-optimization-for-laravel-permission-projects(此篇与本博客无关,若感兴趣可以看看)

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/facetwitter/p/15812694.html

laravel常用集合的使用的更多相关文章

  1. 比较Java中几个常用集合添加元素的效率

    初始化需要进行比较的集合,统一增加10万个元素,获取整个过程的执行时间. 1.List集合增加元素 private static void testList() { List<Integer&g ...

  2. .NET基础 (09)常用集合和泛型

    常用集合和泛型1 int[]是引用类型还是值类型2 数组之间如何进行转换3 解释泛型的基本原理4 什么是泛型的主要约束和次要约束 常用集合和泛型1 int[]是引用类型还是值类型 数组类型是一族类型, ...

  3. C#常用集合

    数组的缺点:长度固定.因此引入集合的使用. 注:泛型集合更安全,性能更高. 常用集合 对应泛型 ①动态数组ArrayList    List<T> 常用方法属性:Add  Clear  C ...

  4. golang实现常用集合原理介绍

    golang本身对常用集合的封装还是比较少的,主要有数组(切片).双向链表.堆等.在工作中可能用到其他常用的集合,于是我自己对常用的集合进行了封装,并对原理做了简单介绍,代码库地址:https://g ...

  5. Java常用集合笔记

    最近事情比较少,闲暇之余温习巩固一下Java的一些基础知识,并做一些笔记, Java常用集合, 主要参考的这篇文章:Java常用集合 ArrayList/Vertor 1. ArrayList 的主要 ...

  6. Java中常用集合操作

    一.Map 名值对存储的. 常用派生类HashMap类 添加: put(key,value)往集合里添加数据 删除: clear()删除所有 remove(key)清除单个,根据k来找 获取: siz ...

  7. java常用集合详解 contains

    java集合是对常用数据集合的封装,差不多就是数组吧,验证某个元素是否在数据集合里,最原始的方法是,用个循环,"某个元素"与数据集合中的每个元素逐个进行比较. java 对常用的一 ...

  8. C#常用集合的使用(转载)

    大多数集合都在System.Collections,System.Collections.Generic两个命名空间.其中System.Collections.Generic专门用于泛型集合. 针对特 ...

  9. C#常用集合的使用

    大多数集合都在System.Collections,System.Collections.Generic两个命名空间.其中System.Collections.Generic专门用于泛型集合. 针对特 ...

  10. JAVA常用集合源码解析系列-ArrayList源码解析(基于JDK8)

    文章系作者原创,如有转载请注明出处,如有雷同,那就雷同吧~(who care!) 一.写在前面 这是源码分析计划的第一篇,博主准备把一些常用的集合源码过一遍,比如:ArrayList.HashMap及 ...

随机推荐

  1. LeetCode-2 两数相加题解

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers 题目描述 给你两个 非空 的链表,表示两个非负的整数.它们每位 ...

  2. Ubuntu命令安装默认支持的Qt5版本

    1.前置依赖 sudo apt install build-essential sudo apt install cmake 2.只安装默认的Qt模块 # 安装默认SDK # Ubuntu18.04中 ...

  3. C# 图片压缩(指定大小压缩和指定尺寸压缩)

    一按大小压缩测试代码: 一测试效果: 一主要代码: /// <summary> /// 压缩图片至200 Kb以下 /// </summary> /// <param n ...

  4. js计算时间为刚刚、几分钟前、几小时前、几天前··

    //dateTimeStamp是一个时间毫秒,注意时间戳是秒的形式,在这个毫秒的基础上除以1000,就是十位数的时间戳.13位数的都是时间毫秒.     function timeago(dateTi ...

  5. windows搭建syncthing中继服务器和发现服务器

    软件准备 1.stdiscosrv:发现服务器,下载地址 https://github.com/syncthing/discosrv/releases 2.strelaysrv:中继服务器,下载地址  ...

  6. MobaXterm激活专业版

    本文思路来自 https://github.com/flygon2018/MobaXterm-keygen 有python 环境 并且不看英文的可以继续往下 不然直接访问这个地址也行. 1.需要一个大 ...

  7. 生成数据库文档 —— Spring Boot + Screw

    1.创建一个SpringBoot项目(本人使用的是IntelliJ IDEA 2020.1 x64) 最佳简单的项目配置如下: 2.添加相关依赖 <!--screw依赖--> <de ...

  8. 自定义Lock实现

    1 package com.wyt.lock.test; 2 3 import java.util.concurrent.LinkedBlockingQueue; 4 import java.util ...

  9. wendows 批量修改文件后缀(含递归下级)

    for /r %%a in (*.jpg)do ren "%%a" "%%~na.png" //-- or :for /r %a in (*.jpg)do re ...

  10. DP4056软硬兼容TP4056,低成本

    概述 DP4056是一款单节锂离子电池恒流/恒压线性充电器,采用底 部带散热片的SOP8封装以及简单的外部应用电路,常适 合便携式设备应用,适合USB电源和适配器电源工作,内部采用防倒充电路,不需要外 ...