如何在php中使用kso​​rt对重音字母进行排序?

时间:2019-06-19 21:30:00

标签: php ksort

我正在处理如下所示的php代码:

<?php
$age=array("Bam"=>"35","Bân"=>"37","Bao"=>"43");
ksort($age);

foreach($age as $x=>$x_value)
   {
   echo "Key=" . $x . ", Value=" . $x_value;
   echo "<br>";
   }
?>

上面的php代码显示以下o / p:

Key=Bam, Value=35
Key=Bao, Value=43
Key=Bân, Value=37

问题陈述:

我想知道我应该在上面的php代码中进行哪些更改,以使其显示以下o / p:

Key=Bam, Value=35
Key=Bân, Value=37
Key=Bao, Value=43

1 个答案:

答案 0 :(得分:0)

我尝试了一些建议的基于语言环境的方法,但最终,使它起作用的唯一方法是使用here中的remove_accents函数之一,然后对它们进行排序根据未读音键的顺序排列。

$unaccented = array_map('remove_accents', array_keys($age));
array_multisort($unaccented, $age);

并不是说它不能与setlocale等一起工作,只是我无法使其工作,但这可能是一个可行的选择。