Quelle est la différence entre les collections et les tableaux dans Laravel ?
擁有18年軟件開發(fā)和IT教學經(jīng)驗。曾任多家上市公司技術總監(jiān)、架構師、項目經(jīng)理、高級軟件工程師等職務。 網(wǎng)絡人氣名人講師,...
Array dans Laravel, emplacement du code source IlluminateSupportArr.php
;IlluminateSupportArr.php
;
Laravel中的集合,源代碼位置IlluminateSupportCollection.php
;
集合是對數(shù)組的再次封裝,以對象的形式呈現(xiàn);提供了很多方法功能(這些方法內(nèi)部大多采用了回調(diào)函數(shù)),比數(shù)組形式的操作要靈活多了;
本質(zhì)上就是用面向?qū)ο蟮男问讲僮髟睾鸵詳?shù)組形式操作元素的區(qū)別;如果以對象操作,如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 ???;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