Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
estou tentando sem sucesso ordenar um array que contém nomes. Alguns destes nomes contém acentos e por este motivo a caca está armada.
este é o código:
<?php
$matriz = array(0=>"João", 1=>"Jaelson", 2=>"Jaílson", 3=>"Júlio", 4=>"Jaison");
asort($matriz);
foreach($matriz as $chave => $valor ){
echo "$valor<br>";
}
echo "---------------------------<br>";
natcasesort($matriz);
foreach($matriz as $chave => $valor ){
echo "$valor<br>";
}
?>
e este é o resultado:
>
Jaelson
Jaison
Jaílson
João
Júlio
---------------------------
Júlio
Jaílson
Jaelson
Jaison
João
Os nomes são apenas exemplos, mas veja que curioso.
Quando a matriz é ordenada por asort (pq é importante manter a relação de índices e valores) Jaison vem antes de Jaílson!! Eis o acento maledeto bagunçando a ordem.
Quando a matriz é ordenada por natcasesort o primeiro nome que aparece é Júlio!!!
Como fazer para ordenar corretamente este array?
Carregando comentários...