The collapse
helper method accepts an array as its only parameter. The given $array
can be a single array, or a nested array. The method will then return a new array with the contents of all the nested arrays. Arrays that are collapsed can contain any data type, such as integers, string literals, objects and other arrays. The examples that follow will use integers in all arrays.
Assuming the following array and example:
1<?php
2
3use \Illuminate\Support\Arr;
4
5$testArray = [
6 [
7 1,2,3,4
8 ],
9 [
10 5,6,7,8,
11 ]
12];
13
14$collapsedArray = Arr::collapse($testArray);
The value of $collapsedArray
would then be:
1array (size=8)
2 0 => int 1
3 1 => int 2
4 2 => int 3
5 3 => int 4
6 4 => int 5
7 5 => int 6
8 6 => int 7
9 7 => int 8
It is important to note that the collapse
method is not recursive. This can be observed in the following example:
1<?php
2
3use \Illuminate\Support\Arr;
4
5$testArray = [
6 [
7 1,2,3,4
8 ],
9 [
10 5,6,7,8,
11 [
12 9,10,11,12
13 ]
14 ]
15];
16
17$collapsedArray = Arr::collapse($testArray);
The value of $collapsedArray
would then have the value:
1array (size=9)
2 0 => int 1
3 1 => int 2
4 2 => int 3
5 3 => int 4
6 4 => int 5
7 5 => int 6
8 6 => int 7
9 7 => int 8
10 8 =>
11 array (size=4)
12 0 => int 9
13 1 => int 10
14 2 => int 11
15 3 => int 12
#array_collapse($array)
The array_collapse
function is a shortcut to calling Arr::collapse
. This function is declared in the global namespace.
∎