相关疑难解决方法(0)

PHP中的自然排序算法,支持Unicode?

是否可以使用自然顺序算法在PHP中使用Unicode/UTF-8字符对数组进行排序?例如(此数组中的顺序正确排序):

$array = array
(
    0 => 'Agile',
    1 => 'Ágile',
    2 => 'Àgile',
    3 => 'Âgile',
    4 => 'Ägile',
    5 => 'Ãgile',
    6 => 'Test',
);
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用asort($ array),我会得到以下结果:

Array
(
    [0] => Agile
    [6] => Test
    [2] => Àgile
    [1] => Ágile
    [3] => Âgile
    [5] => Ãgile
    [4] => Ägile
)
Run Code Online (Sandbox Code Playgroud)

并使用natsort($ array):

Array
(
    [2] => Àgile
    [1] => Ágile
    [3] => Âgile
    [5] => Ãgile
    [4] => Ägile
    [0] => Agile
    [6] => Test
)
Run Code Online (Sandbox Code Playgroud)

如何在PHP …

php arrays sorting unicode utf-8

20
推荐指数
2
解决办法
1万
查看次数

如何在PHP中对UTF-8字符串数组进行排序?

需要帮助按utf-8排序单词.例如,我们有5个比利时城市.

$array = array('Borgloon','Thuin','Lennik','Éghezée','Aubel');
sort($array); // Expected: Aubel, Borgloon, Éghezée, Lennik, Thuin
              // Actual: Aubel, Borgloon, Lennik, Thuin, Éghezée
Run Code Online (Sandbox Code Playgroud)

城市Éghezée应该是第三名.是否可以使用/设置某种utf-8或创建我自己的角色顺序?

php arrays sorting utf-8

18
推荐指数
4
解决办法
2万
查看次数

将特殊字符(即Umlaut)转换为ascii中最可能的表示形式

我正在寻找一个方法或转换表,知道如何将变音符号和特殊字符转换为ascii中最可能的表示形式.

例:

Ärger = aerger
Bôhme = bohme
Søren = soeren
pjérà = pjera
Run Code Online (Sandbox Code Playgroud)

有人有什么想法?

更新:除了良好的接受答案,我还发现PECLs Normalizer非常有趣,虽然我不能使用它,因为服务器没有它并且没有为我更改.

如果此处的答案对您没有帮助,请查看此问题.

php ascii diacritics special-characters non-ascii-characters

8
推荐指数
1
解决办法
1万
查看次数

用重音排序的php数组

我用这个按照姓氏排序:

  usort($fb_friends['data'], "custom_sort");          
  function custom_sort($a,$b) { 
    return $a['last_name']>$b['last_name'];
  }

  foreach($fb_friends['data'] as $friend) { 
    echo '<br>'; 
    echo $friend['name']; 
  } 
Run Code Online (Sandbox Code Playgroud)

但是 - 当姓氏是重音时,例如Šiko,Áron等,这些名字就在最后.我怎样才能正确排序?

php arrays sorting

7
推荐指数
2
解决办法
6749
查看次数