在php中使用特殊字符对多维数组排序

在php中使用特殊字符对多维数组排序,php,arrays,sorting,multidimensional-array,Php,Arrays,Sorting,Multidimensional Array,我有一个多维数组,按字母顺序排序,但问题是,丹麦特殊字符æøå。它们应该按该顺序排序,但不会按该顺序返回 这是我的阵列(已删除部分) 我用这个函数对它进行排序 uasort($sorted_region, function($a, $b) { $retval = $a['Name'] <=> $b['Name']; return $retval; }); 但我不确定如何在多维数组中实现这一点 谢谢你的帮助!:-) 退房 使用此解决方案,通过该页面上的注释中的@Sbl

我有一个多维数组,按字母顺序排序,但问题是,丹麦特殊字符æøå。它们应该按该顺序排序,但不会按该顺序返回

这是我的阵列(已删除部分)

我用这个函数对它进行排序

uasort($sorted_region, function($a, $b) {
    $retval = $a['Name'] <=> $b['Name'];
    return $retval;
});
但我不确定如何在多维数组中实现这一点

谢谢你的帮助!:-)

退房

使用此解决方案,通过该页面上的注释中的@Sbls链接。需要为您的字符集修改它,但它应该可以工作

function compareASCII($a, $b) {
  $at = iconv('UTF-8', 'ASCII//TRANSLIT', $a);
  $bt = iconv('UTF-8', 'ASCII//TRANSLIT', $b);
  return strcmp($at, $bt);
}
uasort($lang, 'compareASCII');

实际上,这似乎有效

setlocale(LC_ALL, 'da_DK.utf8');

usort($sorted_region, function($a, $b) {
    return strcoll($a['Name'], $b['Name']);
});

是否安装了DK语言环境?这些字母是否也会与英文字母一起排序?1)我认为多维数组不起作用。2) 请不要复制/粘贴答案,而是标记重复的答案。可以,抱歉。
function compareASCII($a, $b) {
  $at = iconv('UTF-8', 'ASCII//TRANSLIT', $a);
  $bt = iconv('UTF-8', 'ASCII//TRANSLIT', $b);
  return strcmp($at, $bt);
}
uasort($lang, 'compareASCII');
setlocale(LC_ALL, 'da_DK.utf8');

usort($sorted_region, function($a, $b) {
    return strcoll($a['Name'], $b['Name']);
});