我想知道如何通过不同的数据类型usort
数组数组。例如,我有这些数据:
priority | title
2 B
3 C
2 A
1 A
3 D
我需要进行“双重排序”(如SQL priority ASC, title ASC
)才能获得它:
priority | title
1 A
2 A
2 B
3 C
3 D
真的,我需要用太多的价值来做,但我只需要基础。但是为了享受而不是冒险使用不同的逻辑,我真正的问题是如下组织:int priority ASC, string method ASC, string prefix ASC, int index ASC
。
我尝试过一些事情,但我不会做事。 :(
答案 0 :(得分:2)
正如您在问题中所述,这只是如何完成的基础知识。为了使整个事物更加动态,你需要一种方法将排序选项传递给一个函数,然后在foreach中使用它们来控制使用哪些排序数组......
<?php
//Build example data
$data = array();
$data[] = array('priority'=>2,'title'=>'B');
$data[] = array('priority'=>3,'title'=>'C');
$data[] = array('priority'=>2,'title'=>'A');
$data[] = array('priority'=>1,'title'=>'A');
$data[] = array('priority'=>3,'title'=>'D');
foreach ($data as $key => $row) {
$priority[$key] = $row['priority'];
$title[$key] = $row['title'];
}
array_multisort($priority, SORT_ASC, $title, SORT_ASC, $data);
print_r($data);
?>