PHP陣列排序

2021-08-25 02:10:59 字數 1533 閱讀 2004

php陣列排序實際上就是將php陣列進行排序,在本文中也就是對資料庫查詢出來的結果集進行排序。資料庫查詢結果有時候不能直接使用,比如mysql等用in語句出來的結果,因此需要對結果進行某種方式的排序。

php陣列排序實際上就是將php陣列進行排序,在本文中也就是對資料庫查詢出來的結果集進行排序。資料庫查詢結果有時候不能直接使用,比如mysql等用in語句出來的結果,因此需要對結果進行某種方式的排序。這時候就需要進行php陣列排序了。對資料庫結果進行排序請看下面的示例:

本例中data 陣列中的每個單元表示乙個表中的一行。這是典型的資料庫存放陣列資料的方式。

例子中的資料如下:

volume | edition

-------+--------

67 | 2

86 | 1

85 | 6

98 | 2

86 | 6

67 | 7

資料全都存放在名為 data 的陣列中。這通常是通過迴圈從資料庫取得的結果,例如 mysql_fetch_assoc()(實際上這個函式你可以和mysql_fetch_assoc()函式看成一樣,具體的差別你可以看php的手冊裡面關於key的差別)。

$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);

本例中將把 volume 降序排列,把 edition 公升序排列。

現在有了包含有行的陣列,但是 array_multisort() 需要乙個包含列的陣列,因此用以下**來取得列,然後排序。

// 取得列的列表

foreach ($data as $key => $row)

// 將資料根據 volume 降序排列,根據 edition 公升序排列

// 把 $data 作為最後乙個引數,以通用鍵排序

array_multisort($volume, sort_desc, $edition, sort_asc, $data);

資料集合現在排好序了,結果如下:

volume | edition

-------+--------

98 | 2

86 | 1

86 | 6

85 | 6

67 | 2

67 | 7

實際上真正在排序的時候還有很多方法可以使用,比如php的array陣列自帶的arsort(),asort(),ksort(),krsort(),natsort(),natcasesort(),rsort(),usort(),array_multisort() 和 uksort()。

php排序陣列排序 php 陣列排序

您現在的位置是 首頁 php php php 陣列排序 一 氣泡排序 基本思想 例 arr 1,5,0 temp 0 外層迴圈,只要確定排好n 1個數,則最後乙個數自然排好了 for i 0 i 每次進行一次大迴圈時,最大數已經在最後了,則下次迴圈則不用再比較已經排好的數 for j 0 j if ...

PHP 陣列 排序

一。sort 按字母由前向後或按數字由小到大的順序排序。語法 bool sort array arr int sort flag 處理成功則返回true planet array earth venus mars jupiter saturn sort planet foreach planet a...

php 陣列排序

1.一維陣列排序 以下圈起來的方法,則為一維陣列排序 2.二維陣列 利用內建方法 array multisort 二維陣列排序 param array array 二維陣列 param string sort key 需要排序的字段鍵名 param int sort order 排序方式 sort ...