欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實現(xiàn)二維數(shù)組按某列進行排序的方法

 更新時間:2016年11月18日 09:59:03   作者:栁羅風塵  
這篇文章主要介紹了PHP實現(xiàn)二維數(shù)組按某列進行排序的方法,結(jié)合實例形式分析了php二維數(shù)組排序的技巧,涉及array_multisort函數(shù)的使用方法,需要的朋友可以參考下

本文實例講述了PHP實現(xiàn)二維數(shù)組按某列進行排序的方法。分享給大家供大家參考,具體如下:

/*
* 二維數(shù)組 按某列排序
* array_multisort($arr1,$arr2)
* 手冊 例子如下
*
*/
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);
// 取得列的列表
foreach ($data as $key => $row) {
  $volume[$key] = $row['volume'];
  $edition[$key] = $row['edition'];
}
// 將數(shù)據(jù)根據(jù) volume 降序排列,根據(jù) edition 升序排列
// 把 $data 作為最后一個參數(shù),以通用鍵排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
/*************************************/
/* 從上面的例子不難看出,array_multisort()函數(shù)
* 是將每一個二維數(shù)組的列作為 一個參數(shù)進行排序
* 來達到整個數(shù)組的排序
*/
/*************************************/
function sigcol_arrsort($data,$col,$type=SORT_DESC){
  if(is_array($data)){
    $i=0;
    foreach($data as $k=>$v){
      if(key_exists($col,$v)){
        $arr[$i] = $v[$col];
        $i++;
      }else{
        continue;
      }
    }
  }else{
    return false;
  }
  array_multisort($arr,$type,$data);
  return $data;
}
print_r(sigcol_arrsort($data,'edition',SORT_DESC));
/*說白了 原理就是:
新數(shù)組  原二維數(shù)組
 2    array('volume' => 67, 'edition' => 2);
 1    array('volume' => 86, 'edition' => 1);
 6    array('volume' => 85, 'edition' => 6);
 2    array('volume' => 98, 'edition' => 2);
 6    array('volume' => 86, 'edition' => 6);
 7    array('volume' => 67, 'edition' => 7);
這兩個數(shù)組的每一行都鎖在一起,新數(shù)組一旦變動順序,
那么就會連帶每一行的二維數(shù)組也跟著變換順序 ,即新數(shù)組為參照物
相當于查詢子句中的 order by
*/

運行結(jié)果:

Array
(
  [0] => Array
    (
      [volume] => 67
      [edition] => 7
    )
  [1] => Array
    (
      [volume] => 85
      [edition] => 6
    )
  [2] => Array
    (
      [volume] => 86
      [edition] => 6
    )
  [3] => Array
    (
      [volume] => 67
      [edition] => 2
    )
  [4] => Array
    (
      [volume] => 98
      [edition] => 2
    )
  [5] => Array
    (
      [volume] => 86
      [edition] => 1
    )
)

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP針對XML文件操作技巧總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《PHP運算與運算符用法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

最新評論