我正在处理一个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
我尝试了一些建议的基于语言环境的方法,但最终我能够让它工作的唯一方法是从这里使用remove_accents
函数之一,然后根据无重音键的顺序对数组进行排序。
$unaccented = array_map('remove_accents', array_keys($age));
array_multisort($unaccented, $age);
这并不意味着它不适用于setlocale
等,只是我无法使其工作,但这可能是一个可行的替代方案。