You are here

protected function ConfigTranslationEntityListBuilder::sortRowsMultiple in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/config_translation/src/Controller/ConfigTranslationEntityListBuilder.php \Drupal\config_translation\Controller\ConfigTranslationEntityListBuilder::sortRowsMultiple()
  2. 10 core/modules/config_translation/src/Controller/ConfigTranslationEntityListBuilder.php \Drupal\config_translation\Controller\ConfigTranslationEntityListBuilder::sortRowsMultiple()

Sorts an array by multiple criteria.

Parameters

array $a: First item for comparison.

array $b: Second item for comparison.

array $keys: The array keys to sort on.

Return value

int The comparison result for uasort().

3 calls to ConfigTranslationEntityListBuilder::sortRowsMultiple()
ConfigTranslationBlockListBuilder::sortRows in core/modules/config_translation/src/Controller/ConfigTranslationBlockListBuilder.php
Sorts an array by value.
ConfigTranslationEntityListBuilder::sortRows in core/modules/config_translation/src/Controller/ConfigTranslationEntityListBuilder.php
Sorts an array by value.
ConfigTranslationFieldListBuilder::sortRows in core/modules/config_translation/src/Controller/ConfigTranslationFieldListBuilder.php
Sorts an array by value.

File

core/modules/config_translation/src/Controller/ConfigTranslationEntityListBuilder.php, line 114

Class

ConfigTranslationEntityListBuilder
Defines the configuration translation list builder for entities.

Namespace

Drupal\config_translation\Controller

Code

protected function sortRowsMultiple($a, $b, $keys) {
  $key = array_shift($keys);
  $a_value = is_array($a) && isset($a[$key]['data']) ? $a[$key]['data'] : '';
  $b_value = is_array($b) && isset($b[$key]['data']) ? $b[$key]['data'] : '';
  if ($a_value == $b_value && !empty($keys)) {
    return $this
      ->sortRowsMultiple($a, $b, $keys);
  }
  return strnatcasecmp($a_value, $b_value);
}