Как отсортировать буквы с акцентом, используя ksort в php? - PullRequest
0 голосов
/ 20 июня 2019

Я работаю над кодом 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 голосов
/ 20 июня 2019

Я экспериментировал с некоторыми из предложенных методов на основе локали, но в конце концов единственный способ, которым я смог заставить его работать, - это использовать одну из remove_accents функций из здесь , а затем отсортироватьмассив в соответствии с порядком ключей без акцента.

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

Не означает, что он не будет работать с setlocale и т. д., просто я не смог заставить его работать, но это может бытьжизнеспособная альтернатива.

...