新聞中心
如果想在PHP編程中對數(shù)組進(jìn)行操作,可以用到有關(guān)的PHP數(shù)組函數(shù)來達(dá)到自己的需求。今天我們將為大家介紹的時候有關(guān)PHP數(shù)組按字符串長短排序的實現(xiàn)方法。

創(chuàng)新互聯(lián)公司不只是一家網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司;我們對營銷、技術(shù)、服務(wù)都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務(wù)!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關(guān)注我們的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)質(zhì)量和服務(wù)品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認(rèn)可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術(shù)創(chuàng)新,服務(wù)升級,滿足企業(yè)一站式成都全網(wǎng)營銷推廣需求,讓再小的成都品牌網(wǎng)站建設(shè)也能產(chǎn)生價值!
#t#需求分析:讓搜索出結(jié)果中將相關(guān)度高(關(guān)鍵字所占比例大的結(jié)果排在前面)。比如你搜索“紅”這個關(guān)鍵字,那么《紅》這部動漫在結(jié)果中的排序就要大于《小紅帽》,因為它的關(guān)鍵字比率大。于是就產(chǎn)生了一個特殊的需求,給出一個php的數(shù)組,內(nèi)容都是字符串,需要按照字符串的長短重新進(jìn)行一次排序。php提供的數(shù)組函數(shù)只能按照英文順序這樣的排序,于是google一下,發(fā)現(xiàn)了解決方案,就是使用PHP的自定義排序函數(shù)usort。
- bool usort ( array & $array ,
callback $cmp_function )
其實PHP數(shù)組按字符串長短排序的方法就像以前計算機(jī)課程學(xué)習(xí)的冒泡排序法,它接受兩個參數(shù),第一個是要排序的數(shù)組,第二個是回調(diào)函數(shù),就是排序的條件。usort相當(dāng)于一個遞歸,根據(jù)條件的返回值來判斷是否將兩個鄰近的數(shù)組(如$a,$b)進(jìn)行對調(diào),達(dá)到了排序的目的。如果根據(jù)冒泡排序法,這個條件就是$a>$b這樣的。那么如果是要根據(jù)字符串長短,那么就是strlen($a)-$strlen($b)這樣的格式了。自己寫callback函數(shù),可以完成各種各樣詭異的排序來。那么,CoCo現(xiàn)在的代碼就可以這樣寫了:
- $aS = array('aaa', 'aa', 'aaaa', 'aaaaa');
- $F = create_function('$a, $b',
'return(strLen($a) > strLen($b))');- usort($aS, $F);
希望通過以上介紹的PHP數(shù)組按字符串長短排序的實現(xiàn)方法,大家能夠充分掌握這一技巧。
分享文章:將php的數(shù)組按照字符串長短進(jìn)行排序
文章出自:http://www.5511xx.com/article/dhcpdhd.html


咨詢
建站咨詢
