private function recursiveArrayDiff(array $leftArray, array $rightArray)
{
$diffs = [];
foreach ($leftArray as $key => $value) {
if (array_key_exists($key, $rightArray)) {
if (is_array($value)) {
$childDiffs = $this->recursiveArrayDiff($value, $rightArray[$key]);
if (count($childDiffs)) {
$diffs[$key] = $childDiffs;
}
} else {
if ($value !== $rightArray[$key]) {
$diffs[$key] = $value;
}
}
} else {
$diffs[$key] = $value;
}
}
return $diffs;
}