为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP 对 JSON 数组进行排序

使用 PHP 对 JSON 数组进行排序

PHP
郎朗坤 2023-08-19 16:17:11
我正在尝试将 youtube API 统计信息作为 JSON 数据注册到其正确的数据库中。到目前为止,我想出列出整个数据,但我无法列出和排序单个数据,它代表“dislikeCount”,从多到少降序。我在“$ Row ['page_content']”部分中提到的JSON数据如下。我希望“dislikeCount”数据从大到小排序。任何帮助将不胜感激。数据库页面_内容{    "kind":"youtube#video",    "etag":"LVLEiwEdUU043rY6JqiUrm7FmYY",    "id":"IMiBrszc40s",    "statistics":{        "viewCount":"6416534",        "likeCount":"26553",        "dislikeCount":"1862",        "favoriteCount":"0",        "commentCount":"987"    }}索引.php$query = $db->from('pages')->orderBy('page_id', 'ASC')->all();if ($query) {    foreach ($query as $row) {        $json = json_decode($row['page_content'], true);        $videoView = $json['statistics']['viewCount'];        $videoLike = $json['statistics']['likeCount'];        $videoComment = $json['statistics']['commentCount'];        echo $videoView;        echo $videoLike;        echo $videoComment;    }}
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

据我从你的问题中了解到,你有一个数据库表pages。该表有一个 JSON 列,page_content其中包含您指定的 JSON。现在您想pages根据? 进行排序pages.page_content.statistics.dislikeCount

如果您使用 MySQL 或 PostgreSQL,那么您可以直接在 SQL 查询中对结果集进行排序。例如,对于 MySQL(未经测试,因为我现在没有在本地运行 mysql):

SELECT * FROM pages
ORDER BY page_id, page_content->"$.statistics.dislikeCount"

如果 SQL 不是一个选项,您可以使用 PHP 的usort.


查看完整回答
反对 回复 2023-08-19
  • 1 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信