duanlong4890 2019-06-19 21:30
浏览 15

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

I am working on a php code as shown below:

<?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>";
   }
?>

The above php code display the following o/p:

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

Problem Statement:

I am wondering what changes I should make in the php code above so that it display the following o/p:

Key=Bam, Value=35
Key=Bân, Value=37
Key=Bao, Value=43
  • 写回答

1条回答 默认 最新

  • dqellle310167 2019-06-19 22:16
    关注

    I experimented with some of the locale-based methods suggested, but eventually the only way I was able to get it to work was to use one of the remove_accents functions from here and then sort the array according to the order of the unaccented keys.

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

    Doesn't mean it won't work with setlocale etc, just that I wasn't able to make it work, but this may be a viable alternative.

    评论

报告相同问题?

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)