我用它来根据姓氏排序:
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'];
}
但是 - 当姓氏中有重音时,例如Šiko、Áron 等,这些名字在最后。我怎样才能正确排序?
使用多字节字符串函数。有一个函数叫做strcoll http://php.net/strcoll这似乎适合您的需求。
更多信息:
- 关于如何对 UTF-8 字符串数组进行排序 http://sgehrig.wordpress.com/2008/09/24/on-how-to-sort-an-array-of-utf-8-strings/
- 如何对 UTF-8 字符串数组进行排序? https://stackoverflow.com/questions/120334/how-to-sort-an-array-of-utf-8-strings
编辑:添加了彼得的工作代码,如下
setlocale(LC_COLLATE, 'sk_SK.utf8');
usort($fb_friends['data'], 'custom_sort');
function custom_sort($a, $b) {
return strcoll ($a['last_name'], $b['last_name']);
}
foreach ($fb_friends['data'] as $friend) {
echo '<br>';
echo $friend['name'];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)