集合經過 Illuminate\Support\Collection
進行實例,Laravel的內核大部分的參數傳遞都用到了集合,但這並不表明集合就是好的。Laravel做爲快捷並優雅的開發框架,是有他必定的道理所在的,並不是因他的路由、DB、監聽器等等。當你須要處理一組數組時,你可能就須要它幫助你快捷的解決實際問題。laravel
$collection = collect([1, 2, 3]);
顯而易見,這是一部很是簡單的操做,請打住你想說「這種操做很複雜」的話,它更相似與早起PHP5.x的版本的聲明方式。sql
$collection = array(1,2,3);
laravel對於collection也沒有作任何複雜的事情,會在下一章 《Laravel源碼解析之集合》,謝謝數組
若是你想將集合轉換爲數據,其使用方法也很是的簡單框架
collect([1, 2, 3])->all(); ------> [1, 2, 3]
在不過與考慮性能的狀況下,可使用Laravel集合,畢竟它將幫你完成數組操做的百分之九十的工做。
例如咱們須要經過一個水平線切分數組,將其分爲2個及以上的數組個數。使用集合能夠醬紫作~函數
$collection = collect([1, 2, 3, 4, 5, 6, 7]); $chunks = $collection->chunk(4); $chunks->toArray(); // [[1, 2, 3, 4], [5, 6, 7]]
而且有些還根據sql語句的查詢方式來設計的方法,下面就讓來看下具體都有哪些吧。性能
這裏列出一些經常使用的集合操做方法,具體及所有請操做官方。測試
方法 | 註釋 |
---|---|
all | 將集合打回原型 |
average & avg | 計算平均值 |
chunk | 將集合拆成多個指定大小的小集合 |
collapse | 將多個數組的集合合併成一個數組的集合 |
combine | 能夠將一個集合的值做爲「鍵」,再將另外一個數組或者集合的值做爲「值」合併成一個集合 |
concat | 將給定的數組或集合值附加到集合的末尾 |
contains | 判斷集合是否包含給定的項目 |
count | 返回該集合內的項目總數 |
dd | 打印集合的項目並結束腳本執行 |
diff | 將集合與其它集合或純 PHP 數組進行值的比較,而後返回原集合中存在而給定集合中不存在的值 |
each | 迭代集合中的內容並將其傳遞到回調函數中 |
filter | 使用給定的回調函數過濾集合的內容,只留下那些經過給定真實測試的內容 |
first | 返回集合中經過給定真實測試的第一個元素 |
groupBy | 根據給定的鍵對集合內的項目進行分組 |
push | 把給定值添加到集合的末尾 |
put | 在集合內設置給定的鍵值對 |
sortBy | 經過給定的鍵對集合進行排序。排序後的集合保留了原數組鍵 |
where | 經過給定的鍵值過濾集合 |
感謝你看到這裏,但願本篇可以幫助到你。謝謝,還不抓緊去練習下集合?spa