如何在PHP中按字母顺序排列带有特殊字符的名称列表


How to alphabetically order a list of names with special characters in PHP

我已经有了一个按字母顺序排列的列表,但带有特殊字符的单词(即Cárdena)会在列表的末尾输出。。。有没有一种方法可以按字母顺序排列,即使是PHP中有特殊字符的单词?

输出列表的代码为:

for($i = $infLimit; $i <= $supLimit; $i++){ 
                        $adherido = $lista_adheridos_filtrada[$i];                          
                        $numberOfAdheridos =    count($lista_adheridos_filtrada);
                        $nombreAdherido = $adherido->getNombreEntidad();
echo '<li><a target="_blank" title="'.$nombreAdherido.'" href="' . $protocol . '://'.$_SERVER["SERVER_NAME"].'/empresas/'.$adherido->getNombreFicha(). '.htm' . ((isset($_REQUEST["lang"]) && $_REQUEST["lang"] == "en") ? "?lang=en": "") . '">'.$nombreAdherido.'</a></li>';
}

p.S:我试过排序($adherido),但不起作用。

您可能正在寻找PHP排序规则类:

PHP排序规则类文档

例如,为了用西班牙语排序,你可以这样做:

$collator = new Collator('es_ES');
$collator->asort($adherido);