關鍵字: array_multisort php array sort本例中 data 陣列中的每個單元表示乙個表中的一行。這是典型的資料庫記錄的資料集合。
例子中的資料如下:
volume | edition
-------+--------
67 | 2
86 | 4
86 | 3
資料全都存放在名為 data 的陣列中。這通常是通過迴圈從資料庫取得的結果,例如 mysql_fetch_assoc()。
<?php
$data = array('volume' => 67, 'edition' => 2);
$data = array('volume' => 86, 'edition' => 4);
$data = array('volume' => 86, 'edition' => 3);
?>
本例中將把 volume 降序排列,把 edition 公升序排列。
現在有了包含有行的陣列,但是 array_multisort() 需要乙個包含列的陣列,因此用以下**來取得列,然後排序。
<?php
// 取得列的列表
foreach ($data as $key => $row)
//首先$volume先降序排列,然後$edition進行對應的元素調整,
// $edition開始進行公升序排列,$data根據$volume和$edition
//中相應元素的對應關係,調整自己的內部元素的對應關係,然後
//進行排序。
//$volume中元素排序結果:
8686
67$edition進行元素調整:43
2$volume 和$edition對應關係:
86 --> 4
86 --> 3
67 --> 2
$edition進行排序:23
4$volume 和$edition對應關係:
67 --> 2
86 --> 3
86 --> 4
$data根據$volume 和$edition的元素對應關係,進行調整:
把$data的元素調整成$volume 和$edition的元素對應關係,
然後排序(其實這次排序是不需要的,但是又不能沒有)。
array_multisort($volume, sort_desc, $edition, sort_asc, $data);
?>
PHP陣列array multisort排序詳解
今天特意再看了下官網的介紹,對它的多個陣列的排序還是每台理解,找了些資料深入理解了下,在此總結下。php中array multisort函式對多個陣列或多維陣列進行排序,關聯 string 鍵名保持不變,但數字鍵名會被重新索引。輸入陣列被當成乙個表的列並以行來排序 這類似於 sql 的 order ...
array multisort 排序說明
第乙個引數是陣列,隨後的每乙個引數可能是陣列,也可能是下面的排序順序標誌 排序標誌用於更改預設的排列順序 之一 sort asc 預設,按公升序排列。a z sort desc 按降序排列。z a 隨後可以指定排序的型別 sort regular 預設。將每一項按常規順序排列。sort numeri...
陣列排序array multisort
array multisort 對多個陣列或者多維陣列進行排序 參考 secure.php.net 說明 bool array multisort array array1 mixed array1 sort order sort asc mixed array1 sort flags sort r...