>  기사  >  백엔드 개발  >  共享一个PHP对二维数组的某个字段进展升降排序类

共享一个PHP对二维数组的某个字段进展升降排序类

WBOY
WBOY원래의
2016-06-13 10:41:21810검색

共享一个PHP对二维数组的某个字段进行升降排序类

<?php/** * @author paul <[email&#160;protected]> * @desc 对二维数组的某一个字段进行升降排序 * @data * 		$testData = array(			array('newPrice'=>9),			array('newPrice'=>21),			array('newPrice'=>15),			array('newPrice'=>13),			array('newPrice'=>12)		); */class sortClass{    //升序	function sortArrayAsc($preData,$sortType='newPrice'){        $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)<$sort_total){                    $sortData2 = array_slice($sortData, $min_key-1);                     foreach ($sortData2 as $value){                        array_push($sortData1, $value);                    }                }                $sortData = $sortData1;            }        }        return $sortData;    }	//降序	function sortArrayDesc($preData,$sortType='newPrice'){        $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)<$sort_total){                    $sortData2 = array_slice($sortData, $min_key-1);                     foreach ($sortData2 as $value){                        array_push($sortData1, $value);                    }                }                $sortData = $sortData1;            }        }        return $sortData;    }}?>
?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:phpexcel 读取xls资料다음 기사:PHP兑现各种排序