84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Was ist der Unterschied zwischen Sammlungen und Arrays in Laravel?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
Laravel中的数组,源代码位置Illuminate\Support\Arr.php;
Illuminate\Support\Arr.php
Laravel中的集合,源代码位置Illuminate\Support\Collection.php;
Illuminate\Support\Collection.php
集合是对数组的再次封装,以对象的形式呈现;提供了很多方法功能(这些方法内部大多采用了回调函数),比数组形式的操作要灵活多了;
本质上就是用面向对象的形式操作元素和以数组形式操作元素的区别;如果以对象操作,如vika_倾慕说的,可以链式操作;如果按照数组操作,会产生很多中间临时变量或者语句,代码显得冗长;
vika_倾慕
集合比数组更强大的地方是其使用了各种 map / reduce 的直观操作,例如,我们移除所有未激活的用户模型和收集其余各个用户的名字:
$users = App\User::where('active', 1)->get(); $names = $users->reject(function ($user) { return $user->active === false; }) ->map(function ($user) { return $user->name; });
如果觉得可以,记得采纳
Laravel中的数组,源代码位置
Illuminate\Support\Arr.php
;Laravel中的集合,源代码位置
Illuminate\Support\Collection.php
;集合是对数组的再次封装,以对象的形式呈现;提供了很多方法功能(这些方法内部大多采用了回调函数),比数组形式的操作要灵活多了;
本质上就是用面向对象的形式操作元素和以数组形式操作元素的区别;如果以对象操作,如
vika_倾慕
说的,可以链式操作;如果按照数组操作,会产生很多中间临时变量或者语句,代码显得冗长;集合比数组更强大的地方是其使用了各种 map / reduce 的直观操作,例如,我们移除所有未激活的用户模型和收集其余各个用户的名字:
如果觉得可以,记得采纳