public static Language::sort(&$languages)
Sort language objects.
\Drupal\Core\Language\LanguageInterface[] $languages: The array of language objects keyed by langcode.
public static function sort(&$languages) { uasort($languages, function(LanguageInterface $a, LanguageInterface $b) { $a_weight = $a->getWeight(); $b_weight = $b->getWeight(); if ($a_weight == $b_weight) { $a_name = $a->getName(); $b_name = $b->getName(); // If either name is a TranslatableMarkup object it can not be converted // to a string. This is because translation requires a sorted list of // languages thereby causing an infinite loop. Determine the order based // on ID if this is the case. if ($a_name instanceof TranslatableMarkup || $b_name instanceof TranslatableMarkup) { $a_name = $a->getId(); $b_name = $b->getId(); } return strnatcasecmp($a_name, $b_name); } return ($a_weight < $b_weight) ? -1 : 1; }); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Language!Language.php/function/Language::sort/8.1.x