PHP根據二維數組KEY下標進行排序,多重排序 | array_multisort

1.數據庫裏面原始數據,你們能夠看到兩列中實際上是亂的。那麼我想將他按順序進行排序怎麼作呢
volume | edition
-------+--------
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7

2.php 查出來或模擬的數據
$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);


3.進行排序

foreach ($data as $key => $row) {
	$volume[$key]  = $row['volume'];
	$edition[$key] = $row['edition'];
}
//將數據根據 volume 降序排列,根據 edition 升序排列
//把 $data 做爲最後一個參數,以通用鍵排序 array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
print_r($data);

 

4.排序結果
volume | edition
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
怎麼樣,看完是否是感受很強大,其實這個函數還有不少加強型的應用,你們能夠翻看一下手冊。。



參數 描述
array1 必需。規定數組。
sorting order

可選。規定排列順序。可能的值:php

  • SORT_ASC - 默認。按升序排列 (A-Z)。
  • SORT_DESC - 按降序排列 (Z-A)。
sorting type

可選。規定排序類型。可能的值:數據庫

  • SORT_REGULAR - 默認。把每一項按常規順序排列(Standard ASCII,不改變類型)。
  • SORT_NUMERIC - 把每一項做爲數字來處理。
  • SORT_STRING - 把每一項做爲字符串來處理。
  • SORT_LOCALE_STRING - 把每一項做爲字符串來處理,基於當前區域設置(可經過 setlocale() 進行更改)。
  • SORT_NATURAL - 把每一項做爲字符串來處理,使用相似 natsort() 的天然排序。
  • SORT_FLAG_CASE - 能夠結合(按位或)SORT_STRING 或 SORT_NATURAL 對字符串進行排序,不區分大小寫。
array2 可選。規定數組。
array3

可選。規定數組。數組

相關文章
相關標籤/搜索