搜尋

首頁  >  問答  >  主體

laravel中集合和陣列的差別是什麼?

laravel中集合和陣列的差別是什麼?

高洛峰高洛峰2806 天前567

全部回覆(2)我來回復

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:48:40

    Laravel中的數組,原始碼位置IlluminateSupportArr.php;

    Laravel中的集合,原始碼位置IlluminateSupportCollection.php;

    集合是對數組的再次封裝,以對象的形式呈現;提供了很多方法功能(這些方法內部大多採用了回調函數),比數組形式的操作要靈活多了;

    本質上就是用物件導向的形式操作元素和以陣列形式操作元素的區別;如果以物件操作,如vika_倾慕說的,可以鍊式操作;如果按照陣列操作,會產生很多中間臨時變數或語句,程式碼顯得冗長;

    回覆
    0
  • PHP中文网

    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;
    });

    如果覺得可以,記得採納

    回覆
    0
  • 取消回覆