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

2021-09-06 06:20:54 字數 1731 閱讀 2368

今天遇到乙個問題,是這樣的——給你源資料,排序好後寫入乙個csv檔案,原格式如下:

60177=tfido=ifmail fidonet 相容郵寄服務

60179=fido=fidonet 電子郵件和新聞網路

10082=amandaidx=amanda 備份服務

10083=amidxtape=amanda 備份服務

1178=skkserv=簡單假名到漢字(skk)日文輸入伺服器

1313=xtel=法國 minitel 文字資訊系統

15=netstat=網路狀態(netstat)

1529=support [prmsd, gnatsd]=gnats 錯誤跟蹤系統

2=nbp=名稱繫結協議

2003=cfinger=gnu finger 服務

22289=wnn4_cn=cwnn 中文輸入系統

22305=wnn4_kr=kwnn 韓文輸入系統

22321=wnn4_tw=twnn 中文輸入系統(台灣)

2430=venus=用於 coda 檔案系統(codacon 埠)的 venus 快取管理器

2430=venus=用於 coda 檔案系統(callback/wbc inte***ce

介面)的 venus 快取管理器

2431=venus-se=venus 傳輸控制協議(tcp)的***

2431=venus-se=venus 使用者資料報協議(udp)的***

2432=codasrv=coda 檔案系統伺服器端口

2433=codasrv-se=coda 檔案系統 tcp ***

2433=codasrv-se=coda 檔案系統 udp sftp ***

3128=squid=squid 全球資訊網**快取

協議 4557=fax=fax 傳輸服務(舊服務)

4559=hylafax=hylafax 客戶-伺服器協議(新服務)

465=smtps=通過安全套接字層的簡單郵件傳輸協議(smtps)

我的方法是file函式讀入,然後foreach迴圈得到乙個二維陣列:

<?php

$file = file('4.txt');

$data = array

();

foreach($file

as$key=>$value

)?>

這個二維陣列的格式就成為這樣:

<?php

array

( [0]=>array([0]=>23,[1]=>telnet,[2]=>'遠端。。')

[1]=>array([0]=>2,[1]=>telnet,[2]=>'遠端。。')

)?>

想了想用php的函式進行排序,突然發現,這個是二維陣列,php自身的排序大多是針對一維的,這是只好使用usort函式自定義排序了。**如下,歡迎指正~~

<?php

$file = file('4.txt');

$data = array

();

foreach($file

as$key=>$value

)

function arrsort($a,$b

)

return ($a[0]>$b[0])?1:-1;

}usort($data,'arrsort');

?>

php多維陣列自定義排序 uasort

php內建的排序函式很多 正反各種排 常用的排序函式 sort 以公升序對陣列排序 rsort 以降序對陣列排序 asort 根據值,以公升序對關聯陣列進行排序 ksort 根據鍵,以公升序對關聯陣列進行排序 arsort 根據值,以降序對關聯陣列進行排序 krsort 根據鍵,以降序對關聯陣列進行...

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

php 中最強大的型別非陣列莫屬!任何型別的資料都可以用陣列來儲存。一維陣列排序 sort 函式 本函式對陣列值轉換為整型並被從最低到最高重新安排,刪除原有的鍵名。成功時返回 true,或者在失敗時返回 false.rsort 函式 本函式對陣列值轉換為整型並被從最高到最低重新安排,刪除原有的鍵名。...

PHP陣列 自定義排序

note 此函式將為array填充新的鍵名,將會刪除原有鍵名 function asc a,b b array 2 6 8 9 1 7 usort b,asc print r b 輸出 array 0 1 1 2 2 6 3 7 4 8 5 9 判斷條件為 return a b?1 1 陣列值按照從...