Laravel框架集合用法實(shí)例淺析
本文實(shí)例講述了Laravel框架集合用法。分享給大家供大家參考,具體如下:
前言
集合通過(guò) Illuminate\Support\Collection
進(jìn)行實(shí)例,Laravel的內(nèi)核大部分的參數(shù)傳遞都用到了集合,但這并不代表集合就是好的。Laravel作為快捷并優(yōu)雅的開(kāi)發(fā)框架,是有他一定的道理所在的,并非因他的路由、DB、監(jiān)聽(tīng)器等等。當(dāng)你需要處理一組數(shù)組時(shí),你可能就需要它幫助你快捷的解決實(shí)際問(wèn)題。
創(chuàng)建集合
$collection = collect([1, 2, 3]);
顯而易見(jiàn),這是一部非常簡(jiǎn)單的操作,請(qǐng)打住你想說(shuō)“這種操作很復(fù)雜”的話,它更類似與早起PHP5.x的版本的聲明方式。
$collection = array(1,2,3);
laravel對(duì)于collection也沒(méi)有做任何復(fù)雜的事情,會(huì)在下一章 《Laravel源碼解析之集合》,謝謝
打回原型
如果你想將集合轉(zhuǎn)換為數(shù)據(jù),其使用方法也非常的簡(jiǎn)單
collect([1, 2, 3])->all(); ------> [1, 2, 3]
在不過(guò)與考慮性能的情況下,可以使用Laravel集合,畢竟它將幫你完成數(shù)組操作的百分之九十的工作。
例如我們需要通過(guò)一個(gè)水平線切分?jǐn)?shù)組,將其分為2個(gè)及以上的數(shù)組個(gè)數(shù)。使用集合可以醬紫做~
$collection = collect([1, 2, 3, 4, 5, 6, 7]); $chunks = $collection->chunk(4); $chunks->toArray(); // [[1, 2, 3, 4], [5, 6, 7]]
并且有些還根據(jù)sql語(yǔ)句的查詢方式來(lái)設(shè)計(jì)的方法,下面就讓來(lái)看下具體都有哪些吧。
方法列表
這里列出一些常用的集合操作方法,具體及全部請(qǐng)操作官方。
方法 | 注釋 |
---|---|
all | 將集合打回原型 |
average & avg | 計(jì)算平均值 |
chunk | 將集合拆成多個(gè)指定大小的小集合 |
collapse | 將多個(gè)數(shù)組的集合合并成一個(gè)數(shù)組的集合 |
combine | 可以將一個(gè)集合的值作為「鍵」,再將另一個(gè)數(shù)組或者集合的值作為「值」合并成一個(gè)集合 |
concat | 將給定的數(shù)組或集合值附加到集合的末尾 |
contains | 判斷集合是否包含給定的項(xiàng)目 |
count | 返回該集合內(nèi)的項(xiàng)目總數(shù) |
dd | 打印集合的項(xiàng)目并結(jié)束腳本執(zhí)行 |
diff | 將集合與其它集合或純 PHP 數(shù)組進(jìn)行值的比較,然后返回原集合中存在而給定集合中不存在的值 |
each | 迭代集合中的內(nèi)容并將其傳遞到回調(diào)函數(shù)中 |
filter | 使用給定的回調(diào)函數(shù)過(guò)濾集合的內(nèi)容,只留下那些通過(guò)給定真實(shí)測(cè)試的內(nèi)容 |
first | 返回集合中通過(guò)給定真實(shí)測(cè)試的第一個(gè)元素 |
groupBy | 根據(jù)給定的鍵對(duì)集合內(nèi)的項(xiàng)目進(jìn)行分組 |
push | 把給定值添加到集合的末尾 |
put | 在集合內(nèi)設(shè)置給定的鍵值對(duì) |
sortBy | 通過(guò)給定的鍵對(duì)集合進(jìn)行排序。排序后的集合保留了原數(shù)組鍵 |
where | 通過(guò)給定的鍵值過(guò)濾集合 |
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
- Laravel框架源碼解析之模型Model原理與用法解析
- Laravel框架源碼解析之入口文件原理分析
- Laravel框架源碼解析之反射的使用詳解
- Laravel 框架控制器 Controller原理與用法實(shí)例分析
- Laravel框架數(shù)據(jù)庫(kù)CURD操作、連貫操作總結(jié)
- PHP開(kāi)發(fā)框架Laravel數(shù)據(jù)庫(kù)操作方法總結(jié)
- Laravel框架中擴(kuò)展函數(shù)、擴(kuò)展自定義類的方法
- Laravel框架路由配置總結(jié)、設(shè)置技巧大全
- Laravel 5 框架入門(mén)(一)
- Laravel 5框架學(xué)習(xí)之?dāng)?shù)據(jù)庫(kù)遷移(Migrations)
- Laravel 5框架學(xué)習(xí)之向視圖傳送數(shù)據(jù)
- Laravel 5框架學(xué)習(xí)之用戶認(rèn)證
相關(guān)文章
PHP+Ajax實(shí)現(xiàn)驗(yàn)證碼的實(shí)時(shí)驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了PHP+Ajax實(shí)現(xiàn)驗(yàn)證碼的實(shí)時(shí)驗(yàn)證,感興趣的小伙伴們可以參考一下2016-07-07自己寫(xiě)的php curl庫(kù)實(shí)現(xiàn)整站克隆功能
這篇文章主要介紹了自己寫(xiě)的php curl庫(kù)實(shí)現(xiàn)整站克隆功能,本文給出工具庫(kù)源碼下載和使用示例,需要的朋友可以參考下2015-02-02php獲取字符串前幾位的實(shí)例(substr返回字符串的子串用法)
下面小編就為大家?guī)?lái)一篇php獲取字符串前幾位的實(shí)例(substr返回字符串的子串用法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03如何使用純PHP實(shí)現(xiàn)定時(shí)器任務(wù)(Timer)
本文主要介紹了如何使用純PHP實(shí)現(xiàn)純粹的定時(shí)器任務(wù),且能適應(yīng)認(rèn)識(shí)任務(wù)業(yè)務(wù)需求,需要的朋友可以參考下2015-07-07php自動(dòng)加載autoload機(jī)制示例分享
這篇文章主要介紹了php自動(dòng)加載autoload機(jī)制示例,文件結(jié)構(gòu)如下,2種方式實(shí)現(xiàn)自動(dòng)加載,需要的朋友可以參考下2014-02-02利用PHPStorm如何開(kāi)發(fā)Laravel應(yīng)用詳解
這篇文章主要給大家介紹了關(guān)于利用PHPStorm如何開(kāi)發(fā)Laravel應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。2017-08-08求幫忙修改個(gè)php curl模擬post請(qǐng)求內(nèi)容后并下載文件的解決思路
這篇文章主要介紹了求幫忙修改個(gè)php curl模擬post請(qǐng)求內(nèi)容后并下載文件的解決辦法的相關(guān)資料,需要的朋友可以參考下2015-09-09Mac版PhpStorm之XAMPP整合apache服務(wù)器配置的圖文教程詳解
選擇在PhpStorm集成apache服務(wù)器,但是很多朋友不知道是如何操作的,下面小編分步驟通過(guò)圖文的形式給大家介紹Mac版PhpStorm之XAMPP整合apache服務(wù)器配置的教程,感興趣的朋友一起看看吧2016-10-10