2012-03-11 24 views
6

排序按照姓氏排序: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']; 
    } 

但是 - 在過去的名字的時候是重音,例如Šiko,Áron等等,這些名字都在最後。我如何正確分類?

回答

11

使用多字節字符串函數。有一個叫做strcoll的功能,它似乎適合你的需要。

更多信息:


編輯:添加彼得的工作代碼,下面

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']; 
} 
+0

謝謝!這適用於我: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'
'; echo $ friend ['name']; } – peter 2012-03-11 12:46:07

+0

如果字符串是多列數組的一部分並且我們想要在多列上排序會怎樣? – Pierre 2016-03-22 18:32:16