将2个数组加载到一个PHP对象中

我目前有这样的代码两次,每个表一个


$sql = "SELECT * FROM Characters";

$result = mysqli_query($conn, $sql);


if (mysqli_num_rows($result) > 0) {

    

    $dataset = array();

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

        $dataset[]=$row;

    }


} else {

    echo "0 results";

}

这是可行的,我从 2 个单独的表中得到 2 个单独的数组。我想知道如何将这两个 PHP 数组放入一个对象中,就像您在 JSON 中看到的那样。一个表中的节点数组,另一个表中的链接数组。


{

 "nodes": [

    {"name": "Bob", "group": 1},

    {"name": "Bill", "group": 2}

 ],

 "links": [

    {"source": "Bill", "target": "Bob", "value": 1}

 ]

}

我已经看到了合并两个数组的解决方案,但我需要它们保持分离,并且我需要两个数组位于同一个对象中。如果在 PHP 中没有办法做到这一点,有没有办法可以将两个 PHP 数组发送到 Javascript,然后将它们组合到一个对象中?谢谢


一只斗牛犬
浏览 120回答 2
2回答

不负相思意

将每个查询的结果放在单独的数组中,例如$nodes和$links。然后你可以将它们与:$results = ["nodes" => $nodes, "links" => $links]; echo json_encode($results);

摇曳的蔷薇

就像$result = [    'nodes' => $array1,    'links' => $array2,];$jsonResult = json_encode($result);
打开App,查看更多内容
随时随地看视频慕课网APP