Php usort:如何按多种数据类型排序?
可能重复:Php usort:如何按多种数据类型排序?,php,usort,Php,Usort,可能重复: 我想知道如何通过不同的数据类型对数组进行排序。例如,我有以下数据: priority | title 2 B 3 C 2 A 1 A 3 D 我需要进行“双重排序”(如SQLpriority ASC、title ASC)以获得: priority | title 1 A 2 A 2 B 3 C 3
我想知道如何通过不同的数据类型对数组进行排序。例如,我有以下数据:
priority | title
2 B
3 C
2 A
1 A
3 D
我需要进行“双重排序”(如SQLpriority 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
我尝试过一些事情,但我做不到(基于:
正如您在问题中所述,这只是如何实现的基础。为了使整个过程更加动态,您需要一种方法将排序选项传递到一个函数中,然后在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);
?>
请展示此示例数据如何与您的数据结构(数组数组)匹配。真的,@FelixKling它是重复的,它也解决了我的问题。谢谢。:)我更喜欢这个而不是usort。