在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']);
});