程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP二維數組怎麼按某個字段排序?

PHP二維數組怎麼按某個字段排序?

編輯:關於PHP編程

       先不說別的我們直接看二維數組按某個字段排序實例

     代碼如下   <?php    
        /**  
         * @author yebihai http://www.45it.com
         * @desc 按二維數組的某一個字段進行升降排序  
         * @data  
         *      $testData = array(  
                    array('price'=>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<$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='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)<$sort_total){    
                            $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() 函數對多個數組或多維數組進行排序

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved