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);1415$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);1415$collapse_languages = $chunked_languages->collapse();16echo "<h2>COLLAPSED</h2>" . PHP_EOL;17print_r($collapse_languages);
Résultat
1#CHUNKED2Illuminate\Support\Collection Object3(4 [items:protected] => Array5 (6 [0] => Illuminate\Support\Collection Object7 (8 [items:protected] => Array9 (10 [0] => php11 [1] => python12 [2] => javascript13 )14 )15 [1] => Illuminate\Support\Collection Object16 (17 [items:protected] => Array18 (19 [3] => go20 [4] => c#21 [5] => java22 )23 )24 [2] => Illuminate\Support\Collection Object25 (26 [items:protected] => Array27 (28 [6] => cobol29 [7] => basic30 )31 )32 )33)3435# COLLAPSED36Illuminate\Support\Collection Object37(38 [items:protected] => Array39 (40 [0] => php41 [1] => python42 [2] => javascript43 [3] => go44 [4] => c#45 [5] => java46 [6] => cobol47 [7] => basic48 )49)1#CHUNKED2Illuminate\Support\Collection Object3(4 [items:protected] => Array5 (6 [0] => Illuminate\Support\Collection Object7 (8 [items:protected] => Array9 (10 [0] => php11 [1] => python12 [2] => javascript13 )14 )15 [1] => Illuminate\Support\Collection Object16 (17 [items:protected] => Array18 (19 [3] => go20 [4] => c#21 [5] => java22 )23 )24 [2] => Illuminate\Support\Collection Object25 (26 [items:protected] => Array27 (28 [6] => cobol29 [7] => basic30 )31 )32 )33)3435# COLLAPSED36Illuminate\Support\Collection Object37(38 [items:protected] => Array39 (40 [0] => php41 [1] => python42 [2] => javascript43 [3] => go44 [4] => c#45 [5] => java46 [6] => cobol47 [7] => basic48 )49)
Référence
Vous pouvez avoir tous les détails de cette fonction dans la documentation de Laravel