如何操作Laravel框架集合-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“如何操作Laravel框架集合”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)成立于2013年,先為船山等服務建站,船山等地企業(yè),進行企業(yè)商務咨詢服務。為船山企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

前言

集合通過Illuminate\Support\Collection進行實例,Laravel的內(nèi)核大部分的參數(shù)傳遞都用到了集合,但這并不代表集合就是好的。Laravel作為快捷并優(yōu)雅的開發(fā)框架,是有他一定的道理所在的,并非因他的路由、DB、監(jiān)聽器等等。當你需要處理一組數(shù)組時,你可能就需要它幫助你快捷的解決實際問題。

創(chuàng)建集合

$collection = collect([1, 2, 3]);

顯而易見,這是一部非常簡單的操作,請打住你想說“這種操作很復雜”的話,它更類似與早起PHP5.x的版本的聲明方式。

$collection = array(1,2,3);

laravel對于collection也沒有做任何復雜的事情,會在下一章 《Laravel源碼解析之集合》,謝謝

打回原型

如果你想將集合轉(zhuǎn)換為數(shù)據(jù),其使用方法也非常的簡單

collect([1, 2, 3])->all();
------>
[1, 2, 3]

在不過與考慮性能的情況下,可以使用Laravel集合,畢竟它將幫你完成數(shù)組操作的百分之九十的工作。
例如我們需要通過一個水平線切分數(shù)組,將其分為2個及以上的數(shù)組個數(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語句的查詢方式來設計的方法,下面就讓來看下具體都有哪些吧。

方法列表

這里列出一些常用的集合操作方法,具體及全部請操作官方。

方法注釋
all將集合打回原型
average & avg計算平均值
chunk將集合拆成多個指定大小的小集合
collapse將多個數(shù)組的集合合并成一個數(shù)組的集合
combine可以將一個集合的值作為「鍵」,再將另一個數(shù)組或者集合的值作為「值」合并成一個集合
concat將給定的數(shù)組或集合值附加到集合的末尾
contains判斷集合是否包含給定的項目
count返回該集合內(nèi)的項目總數(shù)
dd打印集合的項目并結(jié)束腳本執(zhí)行
diff將集合與其它集合或純 PHP 數(shù)組進行值的比較,然后返回原集合中存在而給定集合中不存在的值
each迭代集合中的內(nèi)容并將其傳遞到回調(diào)函數(shù)中
filter使用給定的回調(diào)函數(shù)過濾集合的內(nèi)容,只留下那些通過給定真實測試的內(nèi)容
first返回集合中通過給定真實測試的第一個元素
groupBy根據(jù)給定的鍵對集合內(nèi)的項目進行分組
push把給定值添加到集合的末尾
put在集合內(nèi)設置給定的鍵值對
sortBy通過給定的鍵對集合進行排序。排序后的集合保留了原數(shù)組鍵
where通過給定的鍵值過濾集合

“如何操作Laravel框架集合”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享標題:如何操作Laravel框架集合-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://muchs.cn/article44/hiiee.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊網(wǎng)站排名、面包屑導航電子商務、移動網(wǎng)站建設網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名