曾经蜡笔没有小新2017-05-16 16:48:40
Laravel中的數組,原始碼位置IlluminateSupportArr.php
;
Laravel中的集合,原始碼位置IlluminateSupportCollection.php
;
集合是對數組的再次封裝,以對象的形式呈現;提供了很多方法功能(這些方法內部大多採用了回調函數),比數組形式的操作要靈活多了;
本質上就是用物件導向的形式操作元素和以陣列形式操作元素的區別;如果以物件操作,如vika_倾慕
說的,可以鍊式操作;如果按照陣列操作,會產生很多中間臨時變數或語句,程式碼顯得冗長;
PHP中文网2017-05-16 16:48:40
集合比數組更強大的地方是其使用了各種 map / reduce 的直觀操作,例如,我們移除所有未激活的用戶模型和收集其餘各個用戶的名字:
$users = App\User::where('active', 1)->get();
$names = $users->reject(function ($user) {
return $user->active === false;
})
->map(function ($user) {
return $user->name;
});
如果覺得可以,記得採納