1. Accueil
  2. Articles
1 min de lecture
99 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