[PHP]实际工作遇到的问题:不同栏目下的内容,按更新时间冒泡排序

在实现冒泡排序前,已从数据库获得两个不同栏目下的同类数据。

数据结构如下:

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

        )

)

因为是两个不同栏目,所以结果为两个的数组

因此在冒泡之前,我们首先要将两个数组放到同一个数组中。在得到这两个结果前定义一个$arr=array();来存放这两个数组。通过遍历结果集,将两个数组写入$arr中,最终获得一个二维数组:

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;

        }

    }

}

最终结果,无论是那个栏目中的内容更新,前台显示时会从所有栏目中按照更新时间进行排序,没有栏目限制。

这个问题类似于之前的替换,也是通过外层的索引数组来对内部的关联数组进行操作。

以上仅为个人观点,欢迎补充!

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,390评论 0 33
  • 198. House Robber【Easy DP】You are a professional robber p...
    GeniusYY阅读 997评论 0 0
  • 一. 冒泡排序(BubbleSort) 基本思想:两个数比较大小,较大的数下沉,较小的数冒起来。 过程: 比较相...
    梦工厂阅读 94,693评论 42 933
  • 排序分为内部排序和外部排序内部排序:所有数据都加载到内存当中。主要方法有冒泡法、选择排序法、插入式排序法和快速排序...
    Marnoon阅读 96评论 0 0
  • 有一次搭地鐵4號線...往海淀黃庄的路上。。。 背後一個低沉的聲音問我 [要下嗎?] [要](人太多我聲音比較小所...
    软绵绵阅读 144评论 0 1
  • 写给我的孩子的一封信 亲爱的孩子,爸爸老了,再也不能够对你有什么要求了,只希望你快点结婚,生个孩子,是我最后的愿望...
    宛若清风R阅读 275评论 0 0
  • 【Q&A】 【学员提问】姓名:DAMOND兔 【问题描述】积极主动是否有适用范围?有些来自家庭压力,比如被家人逼着...
    Mercy2016阅读 252评论 0 1
  • 寒假开始了,心情像花儿一样
    木土一家阅读 257评论 1 0
  • 今天这么早不是怕忘记,而是很困,就早点注意了。很多时候不是不懂,而是懂了又如何,做不到就是做不到,所以怎么做...
    DreamWorld阅读 183评论 0 0