19th Ave New York, NY 95822, USA
+1 916-875-2235
+1 916-875-2235

Ordenar palabras alfabéticamente en español

Esta es la forma más sencilla de ordenar alfabéticamente palabras en español.

La función tiene en cuenta los acentos y las «ñ» característicos de este idioma.

function orderBySpanishCharacters($words) {
    if (class_exists('\Collator')) {
        $collator = collator_create( 'es_ES.utf8');
        return $collator->sort($words);
    } else {
        setlocale(LC_COLLATE, 'es_ES.utf8', 'es_ES.UTF-8', 
                              'Spanish_Modern_Sort', 'es', 'en_US.utf8', 'en');
        return sort($words, SORT_LOCALE_STRING);
    }
}

$words = array('atención', 'Alabar', 'Álava', 'Apero');

orderBySpanishCharacters($words);

foreach ($words as $word) {
	echo $word."<br/>";
}

Escribe una respuesta