您好,欢迎访问一九零五行业门户网

php 数组函数 array_map、array_multisort多维数组排序实例

$value)
{ $indexedarray[] = $primarykey; }$i = 0;
foreach($hash as $primarykey => $value) { $i++; if($valuecount[$value] > 1) { foreach($records as $record) { if($primarykey == $record[$primarysortindex]) { $temparr[$record[$defaultsortfield].__.$i] = $record; break; } }$index = array_search($primarykey, $indexedarray);
if(($i == count($records)) || ($value != $hash[$indexedarray[$index+1]]))
{ uksort($temparr, strnatcasecmp);if($reverse)
$temparr = array_reverse($temparr);foreach($temparr as $newrecs)
{ $sortedrecords [] = $newrecs; }$temparr = array();
} } else { foreach($records as $record) { if($primarykey == $record[$primarysortindex]) { $sortedrecords[] = $record; break; } } } } return $sortedrecords; }
复制代码
2、用array_map和array_mutisort来排序 array_mutisort还可以根据多个值来进行二次或者三次排序,这是上一个函数所不能比的。利用array_map获取要依据排序的数组 $arrfield = array_map(create_function('$n', 'return $n[size];'), $arrfile); //利用array_mutisort来进行排序 $array_multisort($arrfield, sort_desc, $arrfile);
3、最终测试 以188条数据的数组进行测试, 排序50次求平均值. 方式1: 0.04269016 name 0.04267142 size
方式2: 0.001249 name 0.00083924 size
>>> 更多内容,请查看 php数组排序方法大全
其它类似信息

推荐信息