Pour cette 5e partie nous allons évolué encore un peu plus et cette fois parlé de la fonction combine. Pour voir la 4e partie cliquer sur ce lien
#Description
Tu as besoin de mixer plusieurs collections entre elles ? Les combiner ? Cette méthode est parfaite pour cela. Mais attention! Pour que cela fonctionne et que tu ne rencontres pas l’erreur : array_combine(): Both parameters should have an equal number of elements
Tu dois fournir à la méthode combine() des collections de tailles identiques.
#Exemple d'utilisation
Prenons un exemple simple, tu as sur ton CV plusieurs langages à mettre en valeur et tu dois associer à chacun un niveau qui reflète ton expérience avec ce langage.
Code source #1: Langages et levels
1$languages = collect([2 "php",3 "python",4 "javascript",5 "go",6 "c#",7 "java",8 "cobol",9 "basic"10]);11$level = collect([12 "expert",13 "normal",14 "normal",15 "newbie",16 "newbie",17 "normal",18 "newbie",19 "expert"20]);2122$result = $languages->combine($level);23print_r($result);1$languages = collect([2 "php",3 "python",4 "javascript",5 "go",6 "c#",7 "java",8 "cobol",9 "basic"10]);11$level = collect([12 "expert",13 "normal",14 "normal",15 "newbie",16 "newbie",17 "normal",18 "newbie",19 "expert"20]);2122$result = $languages->combine($level);23print_r($result);
Résultat
1Illuminate\Support\Collection Object2(3 [items:protected] => Array4 (5 [php] => expert6 [python] => normal7 [javascript] => normal8 [go] => newbie9 [c#] => newbie10 [java] => normal11 [cobol] => newbie12 [basic] => expert13 )14)1Illuminate\Support\Collection Object2(3 [items:protected] => Array4 (5 [php] => expert6 [python] => normal7 [javascript] => normal8 [go] => newbie9 [c#] => newbie10 [java] => normal11 [cobol] => newbie12 [basic] => expert13 )14)
Plutôt simple vous trouvez pas? Il a pris nos 2 tableaux pour nous donner un seul avec en clé les valeurs du premier tableau et en valeur les valeurs du 2e tableau.
#Référence
Vous pouvez avoir tous les détails de cette fonction dans la documentation de Laravel