關(guān)于PHP二維數(shù)組排序使用key實(shí)現(xiàn)
PHP數(shù)組有一維數(shù)組和而未數(shù)組,我們這里分析一下PHP二維數(shù)組排序的技巧。PHP,一個(gè)嵌套的縮寫(xiě)名稱,是英文超級(jí)文本預(yù)處理語(yǔ)言(PHP:Hypertext Preprocessor)的縮寫(xiě)。PHP 是一種 HTML 內(nèi)嵌式的語(yǔ)言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類似于C語(yǔ)言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。PHP 獨(dú)特的語(yǔ)法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。
#T#它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的 CGI要高許多;與同樣是嵌入HTML文檔的腳本語(yǔ)言JavaScript相比,PHP在服務(wù)器端執(zhí)行,充分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用 戶經(jīng)常訪問(wèn)的PHP程序駐留在內(nèi)存中,其他用戶再一次訪問(wèn)這個(gè)程序時(shí)就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體 現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaScript的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。
PHP二維數(shù)組排序使用asort函數(shù),但如果是多維數(shù)組按照其中某索引值進(jìn)行排序。一般來(lái)說(shuō)這類排序會(huì)引入臨時(shí)數(shù)組來(lái)存儲(chǔ)中間變量比如key值通過(guò)對(duì)key的排序?qū)崿F(xiàn)多維數(shù)組的一個(gè)排序。以下是我寫(xiě)的一段按照二維數(shù)組中的時(shí)間值進(jìn)行排序:
PHP二維數(shù)組排序代碼:
- <?php
- //以時(shí)間InputDate為key值進(jìn)行二維數(shù)組降序排列
- function array_sort($arr,$keys,$type){
- $keysvalue=array();
- $i = 0;
- foreach($arr as $key=>$val) {
- $val[$keys] = str_replace("-","",$val[$keys]);
- $val[$keys] = str_replace(" ","",$val[$keys]);
- $val[$keys] = str_replace(":","",$val[$keys]);
- $keysvalue[] =$val[$keys];
- }
- asort($keysvalue); //key值排序
- reset($keysvalue); //指針重新指向數(shù)組***個(gè)
- foreach($keysvalue as $key=>$vals) {
- $keysort[] = $key;
- }
- $new_array = array();
- if($type != "asc"){
- for($ii=count($keysort)-1; $ii>=0; $ii--) {
- $new_array[] = $arr[$keysort[$ii]];
- }
- }else{
- for($ii=0; $ii<count($keysort); $ii++){
- $new_array[] = $arr[$keysort[$ii]];
- }
- }
- return $new_array;
- }
- ?>