如何让 Javascript 和 PHP 以相同的方式对 JSON 响应进行排序
How do I get Javascript and PHP to order a JSON response the same way?
我有这个Javascript,它从Google API服务器接收一个JSON,然后输出内容(注意我的代码已经简化为清楚):
function init() {
gapi.client.setApiKey('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
gapi.client.load('blogger', 'v2', function() {
var request = gapi.client.blogger.posts.list({
'blogId': 'xxxxxxxxxxxxxxxxxxxxxxx',
'fields': 'items(content,title)'
});
request.execute(function(response) {
for (var i = 0; i < response.items.length; i++)
{
$(aDiv).append(response.items[i].title);
}
});
});
}
我有这个PHP代码,它基本上做同样的事情:
$recentBlog = json_decode(file_get_contents("https://www.googleapis.com/blogger/v3/blogs/xxxxxxxxxxxxxxxxxxxxxx/posts?key=xxxxxxxxxxxxxxxxx"), true);
foreach ($recentBlog['items'] as $item)
{
echo $item[`title`];
}
问题是每个代码的输出顺序不同。Javascript 按从上到下的顺序输出到页面,2, 1, 0
.PHP从上到下0, 1, 2
.我需要的是将"最新"项目放在顶部,所以我需要两者,按从上到下的顺序,2, 1, 0
。
除了调用 JSON 数据的不同方法(我认为这些方法会带回完全相同的响应)之外,似乎唯一真正的区别是一个是for()
循环,另一个是foreach()
循环。我看不出这会有什么不同,所以一定还有别的东西我错过了。
不管是什么原因,在我目前的情况下,我需要PHP符合Javascript的顺序,以便最新的出现在页面顶部。或者,换句话说,从上到下,2, 1, 0
.我该如何做到这一点?
使用 array_reverse 函数。
$recentBlog = json_decode(...);
$recentBlogReversed = array_reverse($recentBlog['items']);
相关文章:
- JavaScript-如何以这种方式格式化此JSON
- 我可以在Node中以编程方式更改.js文件的module.exports中的JSON对象吗
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 接收json异步响应的最有效方式
- 将JSON从PHP控制器传递到AngularJS控制器的最佳方式
- 解析JSON的有效方式
- 使用普通JS频繁升级JSON文件的首选方式
- 如何在 Python 和 JavaScript 中以相同的方式散列“json”嵌套字典
- JavaScript 中通过公共属性“交叉”两个 JSON 对象数组的最佳方式
- 在 Node JS 中获取、操作和编写(响应)巨大 JSON 的最佳方式
- 将表单的 enctype 设置为 application/json 的角度方式
- 以通用方式使用 Jquery $.ajax() 访问 json 对象
- Javascript或jQuery方式将随机级别的JSON显示为HTML
- 在循环或以其他方式动态创建 JSON 对象中的属性
- 用于发送 ajax/JSON 请求的 JQuery 快捷方式
- Knockout Js 的渲染方式与基于 Json 值的 if 数据绑定不同
- 将javascript类作为json/替代方式传递给php
- 优化了解析 JSON 数据的方式
- 以自动方式合并多个bower.json依赖项
- 如何让 Javascript 和 PHP 以相同的方式对 JSON 响应进行排序