Skip to content

Commit ac95410

Browse files
doc flatten
1 parent 6aadf52 commit ac95410

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/Flatten.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,26 @@
33

44
namespace BrenoRoosevelt;
55

6+
use RecursiveArrayIterator;
7+
use RecursiveIteratorIterator;
8+
69
/**
710
* @param array $items
8-
* @param string|null $separator
11+
* @param string|null $pathSeparator
912
* @return array
1013
*/
11-
function flatten(array $items, ?string $separator = null)
14+
function flatten(array $items, ?string $pathSeparator = null): array
1215
{
1316
$result = [];
14-
$iterator = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($items));
17+
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($items));
1518
foreach ($iterator as $leafValue) {
1619
$keys = [];
1720
foreach (range(0, $iterator->getDepth()) as $depth) {
1821
$keys[] = $iterator->getSubIterator($depth)->key();
1922
}
2023

21-
if (! empty($separator)) {
22-
$result[join($separator, $keys) ] = $leafValue;
24+
if (! empty($pathSeparator)) {
25+
$result[join($pathSeparator, $keys) ] = $leafValue;
2326
} else {
2427
$result[] = $leafValue;
2528
}

0 commit comments

Comments
 (0)