Jam*_*ieB 1 php sorting parsing json
我正在尝试对已从xml(rss)转换为json的新闻项列表进行排序.我希望在合并后可以按照日期顺序对它们进行排序,但我不确定实现它的最佳方法.
json响应如下:
{ "success":true,
"message":"",
"data":{
"title":"Feed Name",
"item":[{
"title":"test",
"pubdate":"Sun, 20 Oct 2013 21:36:42 GMT"}]
}
}
Run Code Online (Sandbox Code Playgroud)
要在PHP中执行此操作,您首先要将其解码为PHP数组:
$data = json_decode($yourJsonVariable, true);
Run Code Online (Sandbox Code Playgroud)
现在使用上面的数据,这将为您提供一个类似于以下内容的数组:
array(
'success' => true,
'data' => array(
'title' => 'Feed Name',
'item' => array(
0 => array(
'title' => 'test',
'pubdate' => 'Sun, 20 Oct 2013 21:36:42 GMT'
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
因此,使用它,您可以弄清楚您希望排序功能如何工作.但是,不清楚的是,如果您只是尝试对item数组的元素进行排序,或者您是否尝试进行更复杂的排序(因为您提到"当组合了Feed时").
仅对item数组进行排序是一项相当简单的任务,正弦每个元素只是一个数组,其中包含两个自己的元素,一个命名title,另一个命名pubdate.在这种情况下,您的sort函数类似于:
usort($data['data']['item'], function($a, $b) {
return (strtotime($a['pubdate']) < strtotime($b['pubdate']) -1 : 1);
});
Run Code Online (Sandbox Code Playgroud)
如果您需要对整个数组或其中的不同部分进行排序,您应该能够调整该功能.