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

如何反转这个json

如何反转这个json

PHP
ITMISS 2022-07-02 15:50:16
我有一个关于数组反转的问题。我试过 array_reverse(...,true) 但它不起作用。可能是我申请的地方不对。所以我已经在下面附上了我的 php 代码和 json 结果。请帮我扭转这个json。$conn = mysqli_connect(HOST,USER,PASS,DB);$sql = mysqli_query($conn,"SELECT story_id,story_name,story_author,story_cover_link FROM short_story  WHERE parent=0");// parent categories node$categories = array("Categories" => array());while ($row = mysqli_fetch_array($sql,MYSQLI_ASSOC))    {     $story_id = $row['story_id'];     $ssql = mysqli_query($conn,"SELECT story_id,chapter_name,chapter_link FROM short_story WHERE  parent='$story_id'");     // single category node     $category = array(); // temp array     $category["story_id"] = $row["story_id"];     $category["story_name"] = $row["story_name"];     $category["story_author"] = $row["story_author"];     $category["story_cover_link"] = $row["story_cover_link"];     $category["chapters"] = array(); // subcategories again an array     while ($srow = mysqli_fetch_array($ssql,MYSQLI_ASSOC))         {         $subcat = array(); // temp array         $subcat["story_id"] = $srow['story_id'];         $subcat["chapter_name"] = $srow['chapter_name'];         $subcat["chapter_link"] = $srow['chapter_link'];         // pushing sub category into subcategories node         array_push($category["chapters"], $subcat);     }     // pushing sinlge category into parent     array_push($categories["Categories"], $category); } echo json_encode($categories);这是生成的 json。我想要的是,我想扭转这个。回归后
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

是有一个替代解决方案可以消除更改查询的需要并略微提高性能。如果您尝试以Categories相反的顺序添加,只需使用array_unshift()而不是 array_push():


// pushing sinlge category into parent

array_unshift($categories["Categories"], $category);

如果您想对以下内容执行相同操作chapters:


// pushing sub category into subcategories node

array_unshift($category["chapters"], $subcat);


查看完整回答
反对 回复 2022-07-02
?
精慕HU

TA贡献1845条经验 获得超8个赞

如果您正在寻找的只是让 ID 降序而不是升序,则不需要修改整个数组。您可以只查询数据库以按该顺序传递数据,然后像您已经做的那样运行它。

改变这个:

$sql = mysqli_query($conn,"SELECT story_id,story_name,story_author,story_cover_link FROM short_story 
 WHERE parent=0");

对此:

$sql = mysqli_query($conn,"SELECT story_id,story_name,story_author,story_cover_link FROM short_story 
 WHERE parent=0 ORDER BY story_id DESC");


查看完整回答
反对 回复 2022-07-02
?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您可以使用array_reverse基本功能。这反转了你的数组。

像这样简单快速:

$categories['Categories'] = array_reverse($categories['Categories']);echo json_encode($categories);


查看完整回答
反对 回复 2022-07-02
  • 3 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号