Heim > Fragen und Antworten > Hauptteil
Was ist der Unterschied zwischen Sammlungen und Arrays in Laravel?
曾经蜡笔没有小新2017-05-16 16:48:40
Laravel中的数组,源代码位置Illuminate\Support\Arr.php
;
Laravel中的集合,源代码位置Illuminate\Support\Collection.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;
});
如果觉得可以,记得采纳