1. Accueil
  2. Articles
1 min de lecture
147 vues

Laravel Collections - la function combine()

Image d'illustration pour Laravel Collections - la function combine()

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]);
21 
22$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]);
21 
22$result = $languages->combine($level);
23print_r($result);

Résultat

1Illuminate\Support\Collection Object
2(
3 [items:protected] => Array
4 (
5 [php] => expert
6 [python] => normal
7 [javascript] => normal
8 [go] => newbie
9 [c#] => newbie
10 [java] => normal
11 [cobol] => newbie
12 [basic] => expert
13 )
14)
1Illuminate\Support\Collection Object
2(
3 [items:protected] => Array
4 (
5 [php] => expert
6 [python] => normal
7 [javascript] => normal
8 [go] => newbie
9 [c#] => newbie
10 [java] => normal
11 [cobol] => newbie
12 [basic] => expert
13 )
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