You are here

protected function ConfigNormalizerSort::normalizeArray in Configuration Normalizer 2.0.x

Same name and namespace in other branches
  1. 8 src/Plugin/ConfigNormalizer/ConfigNormalizerSort.php \Drupal\config_normalizer\Plugin\ConfigNormalizer\ConfigNormalizerSort::normalizeArray()

Recursively sorts an array by key.

Parameters

array $array: An array to normalize.

Return value

array An array that is sorted by key, at each level of the array, with empty arrays removed.

1 call to ConfigNormalizerSort::normalizeArray()
ConfigNormalizerSort::normalize in src/Plugin/ConfigNormalizer/ConfigNormalizerSort.php
Normalizes config for comparison.

File

src/Plugin/ConfigNormalizer/ConfigNormalizerSort.php, line 45

Class

ConfigNormalizerSort
Recursively sorts a configuration array.

Namespace

Drupal\config_normalizer\Plugin\ConfigNormalizer

Code

protected function normalizeArray(array $array) {
  foreach ($array as $key => $value) {
    if (is_array($value)) {
      $new = $this
        ->normalizeArray($value);
      if (count($new)) {
        $array[$key] = $new;
      }
    }
  }

  // If the array is associative, sort by key.
  if (Inline::isHash($array)) {
    ksort($array);
  }
  else {
    sort($array);
  }
  return $array;
}