<?php
// Cómo ordenar alfabéticamente palabras con acentos en un array
// http://es.stackoverflow.com/q/476/127
function ordenar_alfabeticamente(&$palabras) {
// UCA (Algoritmo de Ordenación Alfabética de Unicode)
// Requiere la clase Collator de php-intl
// http://p...content-available-to-author-only...p.net/manual/es/class.collator.php
$collator = collator_create( 'es_ES.utf8', 'es_ES.UTF-8',
'Spanish_Modern_Sort', 'es', 'en_US.utf8', 'en' );
return $collator->sort($palabras); } else {
// Intenta setear un localismo para usar sort()
setlocale(LC_COLLATE
, 'es_ES.utf8', 'es_ES.UTF-8', 'Spanish_Modern_Sort', 'es', 'en_US.utf8', 'en');
return sort($palabras, SORT_LOCALE_STRING
); }
}
//EJEMPLO
'así',
'Alfabeto',
'alfabético',
'Año',
);
ordenar_alfabeticamente($prueba);
?>
PD9waHAKCi8vIEPDs21vIG9yZGVuYXIgYWxmYWLDqXRpY2FtZW50ZSBwYWxhYnJhcyBjb24gYWNlbnRvcyBlbiB1biBhcnJheQovLyBodHRwOi8vZXMuc3RhY2tvdmVyZmxvdy5jb20vcS80NzYvMTI3CgpmdW5jdGlvbiBvcmRlbmFyX2FsZmFiZXRpY2FtZW50ZSgmJHBhbGFicmFzKSB7CiAgICBpZiAoY2xhc3NfZXhpc3RzKCdcQ29sbGF0b3InKSkgewogICAgICAgIC8vIFVDQSAoQWxnb3JpdG1vIGRlIE9yZGVuYWNpw7NuIEFsZmFiw6l0aWNhIGRlIFVuaWNvZGUpCiAgICAgICAgLy8gUmVxdWllcmUgbGEgY2xhc2UgQ29sbGF0b3IgZGUgcGhwLWludGwgCiAgICAgICAgLy8gICBodHRwOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ucC5uZXQvbWFudWFsL2VzL2NsYXNzLmNvbGxhdG9yLnBocAogICAgICAgIAogICAgICAgICRjb2xsYXRvciA9IGNvbGxhdG9yX2NyZWF0ZSggJ2VzX0VTLnV0ZjgnLCAnZXNfRVMuVVRGLTgnLCAKICAgICAgICAJCQkJCQkJJ1NwYW5pc2hfTW9kZXJuX1NvcnQnLCAnZXMnLCAnZW5fVVMudXRmOCcsICdlbicgKTsKICAgICAgICByZXR1cm4gJGNvbGxhdG9yLT5zb3J0KCRwYWxhYnJhcyk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIEludGVudGEgc2V0ZWFyIHVuIGxvY2FsaXNtbyBwYXJhIHVzYXIgc29ydCgpCiAgICAKICAgICAgICBzZXRsb2NhbGUoTENfQ09MTEFURSwgJ2VzX0VTLnV0ZjgnLCAnZXNfRVMuVVRGLTgnLCAKICAgICAgICAJCQkJCSAgJ1NwYW5pc2hfTW9kZXJuX1NvcnQnLCAnZXMnLCAnZW5fVVMudXRmOCcsICdlbicpOwogICAgICAgIHJldHVybiBzb3J0KCRwYWxhYnJhcywgU09SVF9MT0NBTEVfU1RSSU5HKTsKICAgIH0KfQoKCi8vRUpFTVBMTyAgCiRwcnVlYmEgPSBhcnJheSgKICAgICdhc8OtJywKICAgICdBbGZhYmV0bycsCiAgICAnYWxmYWLDqXRpY28nLAogICAgJ0HDsW8nLAopOwoKb3JkZW5hcl9hbGZhYmV0aWNhbWVudGUoJHBydWViYSk7CiAgIAp2YXJfZXhwb3J0KCRwcnVlYmEpOwoKPz4=