gpt4 book ai didi

php - Mysqli 到 PHP 到 JSON

转载 作者:行者123 更新时间:2023-11-29 19:11:21 25 4
gpt4 key购买 nike

我不熟悉 php,我只是用它来通过 mysql 数据库代理请求。我对此进行了高低的研究,但我无法弄清楚如何按照我的意图嵌套我的 json 数组。

PHP

if ($result = mysqli_query($con, $sql))
{

$resultArray = array();
$tempArray = array();

while ($row = mysqli_fetch_assoc($result))
{

array_push($resultArray, $row);
}

echo json_encode($resultArray);

}

在我的数据库中,我有可以相互关联的“ block ”的映射。 PA_250x500_block、PA_250x500_TBlock 和 PA_250x500_StraightBlock。所有 block 都可以指定为根或分支。

JSON 输出

[
{
"root_class_name":"PA_250x500_block",
"branch_class_name":"PA_250x500_Tblock"
},
{
"root_class_name":"PA_250x500_block",
"branch_class_name":"PA_250x500_StraightBlock"
},
{
"root_class_name":"PA_250x500_StraightBlock",
"branch_class_name":"PA_250x500_block"
},
{
"root_class_name":"PA_250x500_StraightBlock",
"branch_class_name":"PA_250x500_Tblock"
},
{
"root_class_name":"PA_250x500_Tblock",
"branch_class_name":"PA_250x500_StraightBlock"
},
{
"root_class_name":"PA_250x500_Tblock",
"branch_class_name":"PA_250x500_block"
}
]

我试图将其更整齐地嵌套为兼容匹配的数组,而不是每种可能的组合,而不是此输出:

   [
{
"root_class_name":"PA_250x500_Tblock",
"branch_class_name":[
"PA_250x500_StraightBlock",
"PA_250x500_block"
]
},
{
"root_class_name":"PA_250x500_Straightblock",
"branch_class_name":[
"PA_250x500_block",
"PA_250x500_TBlock"
]
},
{
"root_class_name":"PA_250x500_block",
"branch_class_name":[
"PA_250x500_StraightBlock",
"PA_250x500_TBlock"
]
}
]

有谁知道如何将其转换为嵌套数组,其中branch_class_name为1对N列表而不是1对1对象?

谢谢

最佳答案

看起来你需要修复你的数组推送,更改

 array_push($resultArray, $row); 

 $resultArray[$row['root_class_name']]['branch_class_name'][] = $row['branch_class_name'];

这不完全是你的输出,因为你的数组是一个数字,但一个简单的 foreach 可以将该数组重置为你想要的。

关于php - Mysqli 到 PHP 到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43052621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com