原題:url排序數據陣列結構在PHP爲捷克語 - 正確的排序號
現在捷克語工作排序,但數字沒有。例如,對於此數組:
$data = array(
'items' => array(
0 => array('city' => 'Praha 10'),
1 => array('city' => 'Praha 2'),
2 => array('city' => 'Praha 1'),
3 => array('city' => 'Cheb'),
4 => array('city' => 'České budějovice'),
5 => array('city' => 'Šatov')
),
);
$body = wp_remote_retrieve_body($request);
$data = json_decode($body, true)['data']['items'];
usort($data,
function($a,$b) {
$coll = collator_create('cs_CZ');
$aSortKey = collator_get_sort_key($coll, $a['city']);
$bSortKey = collator_get_sort_key($coll, $b['city']);
return $aSortKey >= $bSortKey;
;}
);
結果將是:海布,捷克布傑約維採,布拉格1,布拉格10,布拉格2,Šatov。
但正確應爲:海布,捷克布傑約維採,布拉格1,布拉格2,布拉格10,Šatov。
像2 SO較小數量必須爲10或更高之前。
的問題是,你正在尋找不是數字。這些只是包含一些數字的字符串。如果您需要以數字方式排序,您需要提取數字並按數字排序。 – arkascha