Skip to content

Commit bee6ab2

Browse files
Fix mutating operators
1 parent 0458da6 commit bee6ab2

File tree

1 file changed

+11
-22
lines changed

1 file changed

+11
-22
lines changed

src/Differ/Differ.php

+11-22
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,17 @@ function sortingSecondFile(mixed $tree2, mixed $tree1): mixed
7676
return array_reduce(
7777
array_keys($tree2),
7878
function ($acc, $key) use ($tree1, $tree2) {
79-
$diff = [...$acc];
80-
8179
if (!array_key_exists($key, $tree1)) {
82-
$value[$key]['value'] = getArrayContent($tree2[$key]);
83-
return array_merge($diff, $value);
80+
$value = [$key => ['value' => getArrayContent($tree2[$key])]];
81+
return array_merge($acc, $value);
8482
}
8583

8684
if (is_array($tree2[$key]) && is_array($tree1[$key])) {
87-
$value[$key]['value'] = sortingSecondFile($tree2[$key], $tree1[$key]);
88-
return array_merge($diff, $value);
85+
$value = [$key => ['value' => sortingSecondFile($tree2[$key], $tree1[$key])]];
86+
return array_merge($acc, $value);
8987
}
9088

91-
return $diff;
89+
return $acc;
9290
},
9391
[]
9492
);
@@ -101,32 +99,23 @@ function getArrayContent(mixed $tree): mixed
10199
}
102100

103101
return array_reduce(array_keys($tree), function ($acc, $key) use ($tree) {
104-
$diff = [...$acc];
105-
$value[$key]['value'] = getArrayContent($tree[$key]);
106-
return array_merge($diff, $value);
102+
$value = [$key => ['value' => getArrayContent($tree[$key])]];
103+
return array_merge($acc, $value);
107104
}, []);
108105
}
109106

110107
function sortArrayByKeysRecursive(array $tree): array
111108
{
112-
$keysSorted = sort(
113-
array_keys($tree),
114-
function ($left, $right) {
115-
return strcmp($left, $right);
116-
},
117-
true
118-
);
109+
$keysSorted = sort(array_keys($tree), fn($left, $right) => strcmp($left, $right), true);
119110

120111
return array_reduce($keysSorted, function ($acc, $key) use ($tree) {
121-
$diff = [...$acc];
122-
123112
if (!is_array($tree[$key])) {
124-
$diffValue[$key] = $tree[$key];
125-
return array_merge($diff, $diffValue);
113+
$value = [$key => $tree[$key]];
114+
return array_merge($acc, $value);
126115
}
127116

128117
$innerContent = sortArrayByKeysRecursive($tree[$key]);
129118
$diffContent[$key] = $innerContent;
130-
return array_merge($diff, $diffContent);
119+
return array_merge($acc, $diffContent);
131120
}, []);
132121
}

0 commit comments

Comments
 (0)