22
33namespace Cable8mm \ArrayFlatten ;
44
5+ /**
6+ * Flatten nested arrays. * array_flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]); //=> [1, 2, 3, 4, 5, 6, 7, 8, 9]
7+ *
8+ * @param array $array The nested arrays
9+ * @return array The array to flatten
10+ *
11+ * @example array_flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]);
12+ * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9]
13+ */
514function array_flatten (array $ array ): array
615{
716 $ return = [];
@@ -13,7 +22,16 @@ function array_flatten(array $array): array
1322 return array_raw_unique ($ return );
1423}
1524
16- function array_raw_unique (array $ array )
25+ /**
26+ * Extend array_unique() to include null and space values. array_raw_unique([1, 2, 2, null, null, '', '', 9]); //=> [1, 2, null, '', '', 9]
27+ *
28+ * @param array $array The array
29+ * @return array The unique array even if it contains null and space values
30+ *
31+ * @example array_raw_unique([1, 2, 2, null, null, '', '', 9]);
32+ * //=> [1, 2, null, '', '', 9]
33+ */
34+ function array_raw_unique (array $ array ): array
1735{
1836 $ out = [];
1937
0 commit comments