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

Laravel Collections - la function collapse()

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

Pour cette 4e partie nous allons évolué encore un peu plus et cette fois parlé de la fonction collapse

Description

Si tu as bien suivi ce que l'on a dit sur la méthode chunk() dans la partie 3, collapse() sera facile !

C'est l'exact inverse, en gros, collapse() recolle les morceaux !

Exemples d'utilisation

**Code source #1 : on 'chunk' et on 'collapse' **

1$languages = collect([
2 "php",
3 "python",
4 "javascript",
5 "go",
6 "c#",
7 "java",
8 "cobol",
9 "basic"
10]);
11$chunked_languages = $languages->chunk(3);
12echo "<h2>CHUNKED</h2>" . PHP_EOL;
13print_r($chunked_languages);
14 
15$collapse_languages = $chunked_languages->collapse();
16echo "<h2>COLLAPSED</h2>" . PHP_EOL;
17print_r($collapse_languages);
1$languages = collect([
2 "php",
3 "python",
4 "javascript",
5 "go",
6 "c#",
7 "java",
8 "cobol",
9 "basic"
10]);
11$chunked_languages = $languages->chunk(3);
12echo "<h2>CHUNKED</h2>" . PHP_EOL;
13print_r($chunked_languages);
14 
15$collapse_languages = $chunked_languages->collapse();
16echo "<h2>COLLAPSED</h2>" . PHP_EOL;
17print_r($collapse_languages);

Résultat

1#CHUNKED
2Illuminate\Support\Collection Object
3(
4 [items:protected] => Array
5 (
6 [0] => Illuminate\Support\Collection Object
7 (
8 [items:protected] => Array
9 (
10 [0] => php
11 [1] => python
12 [2] => javascript
13 )
14 )
15 [1] => Illuminate\Support\Collection Object
16 (
17 [items:protected] => Array
18 (
19 [3] => go
20 [4] => c#
21 [5] => java
22 )
23 )
24 [2] => Illuminate\Support\Collection Object
25 (
26 [items:protected] => Array
27 (
28 [6] => cobol
29 [7] => basic
30 )
31 )
32 )
33)
34 
35# COLLAPSED
36Illuminate\Support\Collection Object
37(
38 [items:protected] => Array
39 (
40 [0] => php
41 [1] => python
42 [2] => javascript
43 [3] => go
44 [4] => c#
45 [5] => java
46 [6] => cobol
47 [7] => basic
48 )
49)
1#CHUNKED
2Illuminate\Support\Collection Object
3(
4 [items:protected] => Array
5 (
6 [0] => Illuminate\Support\Collection Object
7 (
8 [items:protected] => Array
9 (
10 [0] => php
11 [1] => python
12 [2] => javascript
13 )
14 )
15 [1] => Illuminate\Support\Collection Object
16 (
17 [items:protected] => Array
18 (
19 [3] => go
20 [4] => c#
21 [5] => java
22 )
23 )
24 [2] => Illuminate\Support\Collection Object
25 (
26 [items:protected] => Array
27 (
28 [6] => cobol
29 [7] => basic
30 )
31 )
32 )
33)
34 
35# COLLAPSED
36Illuminate\Support\Collection Object
37(
38 [items:protected] => Array
39 (
40 [0] => php
41 [1] => python
42 [2] => javascript
43 [3] => go
44 [4] => c#
45 [5] => java
46 [6] => cobol
47 [7] => basic
48 )
49)

Référence

Vous pouvez avoir tous les détails de cette fonction dans la documentation de Laravel