Maison > Questions et réponses > le corps du texte
Quelle est la différence entre les collections et les tableaux dans Laravel ?
曾经蜡笔没有小新2017-05-16 16:48:40
Array dans Laravel, emplacement du code source IlluminateSupportArr.php
;IlluminateSupportArr.php
;
Laravel中的集合,源代码位置IlluminateSupportCollection.php
;
集合是对数组的再次封装,以对象的形式呈现;提供了很多方法功能(这些方法内部大多采用了回调函数),比数组形式的操作要灵活多了;
本质上就是用面向对象的形式操作元素和以数组形式操作元素的区别;如果以对象操作,如vika_倾慕
IlluminateSupportCollection.php
;🎜
🎜Une collection est une ré-encapsulation d'un tableau et se présente sous la forme d'un objet ; elle fournit de nombreuses fonctions de méthode (la plupart de ces méthodes utilisent des fonctions de rappel en interne), ce qui est beaucoup plus flexible que les opérations basées sur un tableau ;
🎜Essentiellement, c'est la différence entre les éléments opérationnels sous forme orientée objet et les éléments opérationnels sous forme de tableau ; si vous opérez avec des objets, comme l'a dit vika_adoration
, vous pouvez opérer en chaîne si vous opérez avec ; des tableaux, de nombreuses variables ou instructions temporaires intermédiaires sont générées et le code devient long 🎜 ;PHP中文网2017-05-16 16:48:40
Ce qui rend les collections plus puissantes que les tableaux, c'est qu'elles utilisent diverses opérations intuitives de mappage/réduction. Par exemple, nous supprimons tous les modèles d'utilisateurs inactifs et collectons les noms des utilisateurs restants :
.$users = App\User::where('active', 1)->get();
$names = $users->reject(function ($user) {
return $user->active === false;
})
->map(function ($user) {
return $user->name;
});
Si vous pensez que ça va, pensez à l'adopter