多列表统计之后的数组排序
Posted pengcx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多列表统计之后的数组排序相关的知识,希望对你有一定的参考价值。
public function sortArray($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR"){
if(!is_array($ArrayData)) {
return $ArrayData;
}
// Get args number.
$ArgCount = func_num_args();
// Get keys to sort by and put them to SortRule array.
for($I = 1;$I < $ArgCount;$I ++) {
$Arg = func_get_arg($I);
if(!preg_match("/SORT/",$Arg)) {
$KeyNameList[] = $Arg;
$SortRule[] = ‘$‘.$Arg;
}
else {
$SortRule[] = $Arg;
}
}
// Get the values according to the keys and put them to array.
foreach($ArrayData AS $Key => $Info) {
foreach($KeyNameList AS $KeyName) {
${$KeyName}[$Key] = $Info[$KeyName];
}
}
// Create the eval string and eval it.
$EvalString = ‘array_multisort(‘.join(",",$SortRule).‘,$ArrayData);‘;
eval ($EvalString);
return $ArrayData;
}
$this->sortArray($list,$key,"SORT_DESC");
以上是关于多列表统计之后的数组排序的主要内容,如果未能解决你的问题,请参考以下文章
排序算法:对于待排序的数组中每一个的元素,统计小于它的元素个数,然后利用这个信息,将各个元素放到有序数组的相应位置上