[PHP]實際工作遇到的問題:不同欄目下的內(nèi)容,按更新時間冒泡排序

在實現(xiàn)冒泡排序前,已從數(shù)據(jù)庫獲得兩個不同欄目下的同類數(shù)據(jù)。

數(shù)據(jù)結(jié)構(gòu)如下:

Array

(

??? [0] => Array

??????? (

??????????? [id] => 7

??????????? [cid] => 309

??????????? [tit] => 欄目一

??????????? [listorder] => 7

??????????? [uname] => root

??????????? [inputtime] => 1478243515

??????????? [updatetime] => 1479890692

??????? )

??? [1] => Array

??????? (

??????????? [id] => 10

??????????? [cid] => 309

??????????? [tit] => 欄目一

??????????? [listorder] => 10

??????????? [uname] => root

??????????? [inputtime] => 1478243720

??????????? [updatetime] => 1479890681

? ? ? ? )

??? [2] => Array

??????? (

??????????? [id] => 8

??????????? [cid] => 309

??????????? [tit] => 欄目一

??????????? [listorder] => 8

??????????? [uname] => root

??????????? [inputtime] => 1478243614

??????????? [updatetime] => 1479718032

? ? ? ? )

)

Array

(

??? [0] => Array

??????? (

??????????? [id] => 11

??????????? [cid] => 315

??????????? [tit] => 欄目二

??????????? [listorder] => 0

??????????? [uname] => root

??????????? [inputtime] => 1479880613

??????????? [updatetime] => 1479970287

??????? )

)

因為是兩個不同欄目,所以結(jié)果為兩個的數(shù)組

因此在冒泡之前,我們首先要將兩個數(shù)組放到同一個數(shù)組中。在得到這兩個結(jié)果前定義一個$arr=array();來存放這兩個數(shù)組。通過遍歷結(jié)果集,將兩個數(shù)組寫入$arr中,最終獲得一個二維數(shù)組:

Array

??? (

??????? [0] => Array

??????????? (

??????????????? [id] => 7

??????????????? [cid] => 309

??????????????? [tit] => 欄目一

??????????????? [listorder] => 7

??????????????? [uname] => root

??????????????? [inputtime] => 1478243515

??????????????? [updatetime] => 1479890692

??????????? )

??????? [1] => Array

??????????? (

??????????????? [id] => 10

??????????????? [cid] => 309

??????????????? [tit] => 欄目一

??????????????? [listorder] => 10

??????????????? [uname] => root

??????????????? [inputtime] => 1478243720

??????????????? [updatetime] => 1479890681

??????????? )

??????? [2] => Array

??????????? (

??????????????? [id] => 8

??????????????? [cid] => 309

??????????????? [tit] => 欄目一

??????????????? [listorder] => 8

??????????????? [uname] => root

??????????????? [inputtime] => 1478243614

??????????????? [updatetime] => 1479718032

??????????? )

??????? [3] => Array

??????????? (

??????????????? [id] => 11

??????????????? [cid] => 315

??????????????? [tit] => 欄目二

??????????????? [listorder] => 0

??????????????? [uname] => root

??????????????? [inputtime] => 1479880613

??????????????? [updatetime] => 1479970287

??????????? )

??? )

接下來的冒泡就和平常一樣

$n=count($arr);

for($j=0;$j<$n-1;$j++){

??? for($i=0;$i<$n-$j-1;$i++){

??????? //按照更新時間排序

??????? if($arr[$i]['updatetime']<$arr[$i+1]['updatetime']){

??????????? $aa = $arr[$i+1];

??????????? $arr[$i+1] = $arr[$i];

??????????? $arr[$i] = $aa;

??????? }

??? }

}

最終結(jié)果,無論是那個欄目中的內(nèi)容更新,前臺顯示時會從所有欄目中按照更新時間進(jìn)行排序,沒有欄目限制。

這個問題類似于之前的替換,也是通過外層的索引數(shù)組來對內(nèi)部的關(guān)聯(lián)數(shù)組進(jìn)行操作。

以上僅為個人觀點,歡迎補充!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,921評論 0 33
  • 198. House Robber【Easy DP】You are a professional robber p...
    GeniusYY閱讀 1,243評論 0 0
  • 一. 冒泡排序(BubbleSort) 基本思想:兩個數(shù)比較大小,較大的數(shù)下沉,較小的數(shù)冒起來。 過程: 比較相...
    夢工廠閱讀 96,300評論 42 934
  • 排序分為內(nèi)部排序和外部排序內(nèi)部排序:所有數(shù)據(jù)都加載到內(nèi)存當(dāng)中。主要方法有冒泡法、選擇排序法、插入式排序法和快速排序...
    Marnoon閱讀 221評論 0 0
  • 有一次搭地鐵4號線...往海淀黃莊的路上。。。 背後一個低沉的聲音問我 [要下嗎?] [要](人太多我聲音比較小所...
    軟綿綿閱讀 221評論 0 1

友情鏈接更多精彩內(nèi)容