這篇文章運用簡單易懂的例子給大家介紹如何實現(xiàn)php的排序函數(shù),代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),桐柏企業(yè)網(wǎng)站建設(shè),桐柏品牌網(wǎng)站建設(shè),網(wǎng)站定制,桐柏網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,桐柏網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。排序的方法多種多樣,通常情況下,我們經(jīng)常使用到的數(shù)組排序函數(shù)有:sort() 、rsort()、asort() 、arsort()、ksort()、krsort()。下面為大家一一詳細(xì)介紹。
sort(array,sortingtype);
0 = SORT_REGULAR - 默認(rèn)。把每一項按常規(guī)順序排列(Standard ASCII,不改變類型)
1 = SORT_NUMERIC - 把每一項作為數(shù)字來處理。
2 = SORT_STRING - 把每一項作為字符串來處理。
3 = SORT_LOCALE_STRING - 把每一項作為字符串來處理,基于當(dāng)前區(qū)域設(shè)置(可通過 setlocale() 進行更改)。
4 = SORT_NATURAL - 把每一項作為字符串來處理,使用類似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以結(jié)合(按位或)SORT_STRING 或 SORT_NATURAL 對字符串進行排序,不區(qū)分大小寫。
定義和用法:
sort() 函數(shù)對索引數(shù)組進行升序排序。
rsort() 函數(shù)對索引數(shù)組進行降序排序,其他用法一樣。
注釋:本函數(shù)為數(shù)組中的單元賦予新的鍵名。原有的鍵名將被刪除。
如果成功則返回 TRUE,否則返回 FALSE。
提示:請使用 rsort() 函數(shù)對索引數(shù)組進行降序排序。
sort() 函數(shù)用于對數(shù)組單元從低到高進行排序。
rsort() 函數(shù)用于對數(shù)組單元從高到低進行排序。
asort() 函數(shù)用于對數(shù)組單元從低到高進行排序并保持索引關(guān)系。
PHP asort() 函數(shù)用于對數(shù)組單元從低到高進行排序并保持索引關(guān)系,如果成功則返回 TRUE,失敗則返回 FALSE。
arsort() 函數(shù)用于對數(shù)組單元從高到低進行排序并保持索引關(guān)系。
PHP arsort() 函數(shù)行為與 asort() 相反,對數(shù)組單元進行由高到低排序并保持索引關(guān)系,請參考 asort() 函數(shù)使用。
ksort() 函數(shù)用于對數(shù)組單元按照鍵名從低到高進行排序。
PHP ksort() 函數(shù)用于對數(shù)組單元按照鍵名從低到高進行排序,如果成功則返回 TRUE,失敗則返回 FALSE。本函數(shù)會保留原來的鍵名,因此常用于關(guān)聯(lián)數(shù)組。
krsort() 函數(shù)用于對數(shù)組單元按照鍵名從高到低進行排序。
PHP krsort() 函數(shù)行為與 ksort() 相反,對數(shù)組單元按照鍵名進行由高到低排序,請參考 ksort() 函數(shù)使用。
使用用戶自定義的比較函數(shù)對數(shù)組 $a 中的元素進行排序:
usort(array,myfunction);
<?php function my_sort($a,$b){ if ($a==$b) return 0; return ($a<$b)?-1:1; } $a=array(4,2,8,6); usort($a,"my_sort"); $arrlength=count($a); for($x=0;$x<$arrlength;$x++) { echo $a[$x]; echo "<br>"; }?>
1、使用array_multisort 使用這個方法,會比較麻煩些,要將age提取出來存儲到一維數(shù)組里,然后按照age升序排列。具體代碼如下: 代碼如下:<?php $ages = array(); foreach ($users as $user) { $ages[] = $user['age']; } array_multisort($ages, SORT_ASC, $users); 執(zhí)行后,$users就是排序好的數(shù)組了,可以打印出來看看。如果需要先按年齡升序排列,再按照名稱升序排列,方法同上,就是多提取一個名稱數(shù)組出來,最后的排序方法這樣調(diào)用: 代碼如下: array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users); 2、使用usort 使用這個方法大的好處就是可以自定義一些比較復(fù)雜的排序方法。例如按照名稱的長度降序排列: 代碼如下: <?php usort($users, function($a, $b) { $al = strlen($a['name']); $bl = strlen($b['name']); if ($al == $bl) return 0; return ($al > $bl) ? -1 : 1; }); 這里使用了匿名函數(shù),如果有需要也可以單獨提取出來。其中$a, $b可以理解為$users數(shù)組下的元素,可以直接索引name值, 并計算長度,而后比較長度就可以了。
關(guān)于如何實現(xiàn)php的排序函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞名稱:如何實現(xiàn)php的排序函數(shù)-創(chuàng)新互聯(lián)
本文路徑:http://jinyejixie.com/article12/dcjedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站制作、虛擬主機、ChatGPT、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容