Php 陣列排序之多維陣列排序

2021-06-26 20:33:03 字數 2756 閱讀 3662

php 中最強大的型別非陣列莫屬!任何型別的資料都可以用陣列來儲存。

一維陣列排序

sort 函式:

本函式對陣列值轉換為整型並被從最低到最高重新安排,刪除原有的鍵名。成功時返回 true, 或者在失敗時返回 false.

rsort 函式:

本函式對陣列值轉換為整型並被從最高到最低重新安排,刪除原有的鍵名。成功時返回 true, 或者在失敗時返回 false.

asort 函式:

本函式對陣列進行低到高排序,陣列的索引保持和單元的關聯。主要用於對那些單元順序很重要的結合陣列進行排序。

arsort 函式:

對陣列進行逆向排序(高到低)並保持索引關係

本函式對陣列進行排序,陣列的索引保持和單元的關聯。主要用於對那些單元順序很重要的結合陣列進行排序。

成功時返回 true, 或者在失敗時返回 false. 

多維陣列排序

usort函式: 

bool

usort( array

&$array

,callback

$cmp_function

)本函式將用使用者自定義的比較函式對乙個陣列中的值進行排序。如果要排序的陣列需要用一種不尋常的標準進行排序,那麼應該使用此函式。

比較函式必須在第乙個引數被認為小於,等於或大於第二個引數時分別返回乙個小於,等於或大於零的整數

此函式為 array

中的元素賦與新的鍵名。這將刪除原有的鍵名,而不是僅僅將鍵名重新排序。

成功時返回 true, 或者在失敗時返回 false.

uasort 函式:bool

uasort(array

&$array

,callback

$cmp_function

)uasort — 使用使用者自定義的比較函式對陣列中的值進行排序並保持索引關聯

本函式對陣列排序並保持索引和單元之間的關聯。主要用於對那些單元順序很重要的結合陣列進行排序。

比較函式是使用者自定義的。

成功時返回 true, 或者在失敗時返回 false. 

uksort 函式:bool

uksort(array

&$array

,callback

$cmp_function

)本函式將使用使用者提供的比較函式對陣列中的鍵名進行排序。如果要排序的陣列需要用一種不尋常的標準進行排序,那麼應該使用此函式。

cmp_function

函式應接受兩個引數,該引數將被array

中的一對鍵名填充。

比較函式在第乙個引數小於,等於,或大於第二個引數時必須分別返回乙個小於零,等於零,或大於零的整數。

成功時返回 true, 或者在失敗時返回 false(本排序方法和 uasort 非常類似). 

array_multisort函式: bool

array_multisort(array

$ar1

[,mixed

$arg

[,mixed

$...

[,array

$...

]]] )

可以用來一次對多個陣列進行排序,或者根據某一維或多維對多維陣列進行排序。

關聯(string

)鍵名保持不變,但數字鍵名會被重新索引。

本函式的引數結構有些不同尋常,但是非常靈活。

第乙個引數必須是乙個陣列。接下來的每個引數可以是陣列或者是下面列出的排序標誌。

排序順序標誌:

◾sort_asc - 按照上公升順序排序 

◾sort_desc - 按照下降順序排序 

排序型別標誌:

◾sort_regular - 將專案按照通常方法比較 

◾sort_numeric - 將專案按照數值比較 

◾sort_string - 將專案按照字串比較 每個陣列之後不能指定兩個同類的排序標誌。

每個陣列後指定的排序標誌僅對該陣列有效 - 在此之前為預設值 sort_asc 和 sort_regular。

uasort 排序學習案例:

/* 多維陣列排序 */

PHP經驗 陣列自定義排序之多維陣列排序

今天遇到乙個問題,是這樣的 給你源資料,排序好後寫入乙個csv檔案,原格式如下 60177 tfido ifmail fidonet 相容郵寄服務 60179 fido fidonet 電子郵件和新聞網路 10082 amandaidx amanda 備份服務 10083 amidxtape ama...

php 多維陣列排序

之前在做乙個功能的時候,必須要把資料放到二維陣列裡並且排序,然後上網找找解決思路,這時候會用到array multisort函式,在那之前我都不知道有這個函式 array multisort 函式對多個陣列或多維陣列進行排序 先來看乙個例項 data array 0 array one 34,two...

PHP多維陣列排序

在php中,對各種陣列排序,歸功於陣列函式 sort ksort rsort asort 等,使用他們進行各種排序,但是用於多維陣列就沒那麼方便簡單。這篇文章介紹 usort 和 array multisort 處理多維陣列排序。對於多維緯度排序使用usort 函式 自定義的比較函式對陣列中的元素進...