如何对多维PHP数组进行排序(基于最新新闻时间的实现)(How to sort multidimensional PHP array (recent news time based implementation))

240 IT屋

i got some recent news rss in xml format and change in to json format , it is needed for android application to display recent news. i have an following JSON array ...

{
    "rss_news": [
        {
            "title": " ",
            "rss_original_src": "recent_news1(google news)",
            "rss_original_src_img": "",
            "link": "",
            "pubDate": "Tue, 19 Apr 2016 14:05:47 +0530",
            "description": ""
        },
 {
            "title": " ",
            "rss_original_src": "recent_news2(yahoo news)",
            "rss_original_src_img": "",
            "link": "",
            "pubDate": "Tue, 19 Apr 2016 16:05:47 +0530",
            "description": ""
        },
 {
            "title": " ",
            "rss_original_src": "recent_news3",
            "rss_original_src_img": "",
            "link": "",
            "pubDate": "Tue, 19 Apr 2016 11:05:47 +0530",
            "description": ""
        },
....
]
}

Now i need ... PHP multi dimensional array sort based on value(pubDate)..

Thanks in advance..

解决方案

First convert your JSON string to PHP array using json_decode.

Use usort to sort the array like.

usort($array, 'sortByDate');

function sortByDate($a, $b) {
    $date1=$a['pubDate'];
    $date2=$b['pubDate'];

   //return value based on above two dates.
}

我以xml格式获取了一些最新新闻rss,并更改为json格式,这是android应用程序显示最新新闻所必需的。我有以下JSON数组...



  {
rss_news:[
{
title:,
rss_original_src: recent_news1(google news),
rss_original_src_img:,
link:,
pubDate:星期二,2016年4月19日14:05:47 +0530,
description:
},
{
title: ,
rss_original_src: recent_news2(yahoo news),
rss_original_src_img:,
link:,
pubDate: Tue ,19 Apr 2016 16:05:47 +0530,
description:
},
{
title:,
rss_original_src: recent_news3,
rss_original_src_img:,
link:,
pubDate:星期二,2016年4月19日11:05:47 +0530 ,
说明:
},
....
]
}





现在我需要...基于value(pubDate)的PHP多维数组排序。.



谢谢。.


解决方案

首先使用<$ c将JSON字符串转换为PHP数组$ c> json_decode 。



使用使用usort 对数组进行排序。



  usort($ array,'sortByDate' ); 

函数sortByDate($ a,$ b){
$ date1 = $ a [’pubDate’];
$ date2 = $ b ['pubDate'];

//基于上述两个日期的返回值。
}

本文地址:IT屋 » 如何对多维PHP数组进行排序(基于最新新闻时间的实现)