先不说别的我们直接看二维数组按某个字段排序实例
代码如下 复制代码
19),
array('price'=>121),
array('price'=>115),
array('price'=>113),
array('price'=>112)
);
*/
class sortclass{
//升序
function sortarrayasc($predata,$sorttype='price'){
$sortdata = array();
foreach ($predata as $key_i => $value_i){
$price_i = $value_i[$sorttype];
$min_key = '';
$sort_total = count($sortdata);
foreach ($sortdata as $key_j => $value_j){
if($price_i $min_key = $key_j+1;
break;
}
}
if(empty($min_key)){
array_push($sortdata, $value_i);
}else {
$sortdata1 = array_slice($sortdata, 0,$min_key-1);
array_push($sortdata1, $value_i);
if(($min_key-1) $sortdata2 = array_slice($sortdata, $min_key-1);
foreach ($sortdata2 as $value){
array_push($sortdata1, $value);
}
}
$sortdata = $sortdata1;
}
}
return $sortdata;
}
//降序
function sortarraydesc($predata,$sorttype='price'){
$sortdata = array();
foreach ($predata as $key_i => $value_i){
$price_i = $value_i[$sorttype];
$min_key = '';
$sort_total = count($sortdata);
foreach ($sortdata as $key_j => $value_j){
if($price_i>$value_j[$sorttype]){
$min_key = $key_j+1;
break;
}
}
if(empty($min_key)){
array_push($sortdata, $value_i);
}else {
$sortdata1 = array_slice($sortdata, 0,$min_key-1);
array_push($sortdata1, $value_i);
if(($min_key-1) $sortdata2 = array_slice($sortdata, $min_key-1);
foreach ($sortdata2 as $value){
array_push($sortdata1, $value);
}
}
$sortdata = $sortdata1;
}
}
return $sortdata;
}
}
后面整理一些关于数组排序的函数
数据排序函数有
•sort() 函数用于对数组单元从低到高进行排序。
•rsort() 函数用于对数组单元从高到低进行排序。
•asort() 函数用于对数组单元从低到高进行排序并保持索引关系。
•arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。
•ksort() 函数用于对数组单元按照键名从低到高进行排序。
•krsort() 函数用于对数组单元按照键名从高到低进行排序。
array_multisort() 函数对多个数组或多维数组进行排序
http://www.bkjia.com/phpjc/632714.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/632714.htmltecharticle数据排序有很多现成的函数,但是如果想对指定字段进行排序就没有内置函数了,下面我整理了一些相关的数组排序函数与大家一起交流学...
