private static function _flattenArray($keys, $namespace = null)
{
$flattenedArray = [];
foreach ($keys as $key) {
if (is_array($key)) {
$theKeys = array_keys($key);
$theValues = array_values($key);
$scope = $theKeys[0];
$fullKey = empty($namespace) ? $scope : $namespace . '[' . $scope . ']';
$flattenedArray = array_merge($flattenedArray, self::_flattenArray($theValues[0], $fullKey));
} else {
$fullKey = empty($namespace) ? $key : $namespace . '[' . $key . ']';
$flattenedArray[] = $fullKey;
}
}
sort($flattenedArray);
return $flattenedArray;
}