PHP json_encode 2个数组

时间:2019-05-23 21:08:15

标签: php arrays json

我需要创建一个包含两个(或更多)数组的json,其中可以包含其他数组。我做了几次测试,但始终无法获得正确的输出。这是我想要的输出:

{
    "servizi" : [
        {"id": 1, "nomeservizio": "Menu","value": 1},
        {"id": 2, "nomeservizio": "Prenotazione","value": 0}
    ],

    "pietanze" : [

        {"tipopietanza": "PANINI","PANINI" : [
            {"id": 1, "nomepietanza": "Royal avec du fromage", "prezzo":      5.50, "ingredienti": "Hamburger di manzo, cetriolini sott'aceto, cheddar, cipolle, senape, ketchup"},
            {"id": 2, "nomepietanza": "Big Belly Burger", "prezzo": 5.50, "ingredienti": "Hamburger di manzo, cipolla,senape, salsa worchester, prezzemolo, aglio, peperone, lattuga"}
        ]},

        {"tipopietanza": "CONTORNI E STUZZICHINI", "CONTORNI E STUZZICHINI" :[
            {"id":1, "nomepietanza": "Caprese", "prezzo": 4.00, "ingredienti": "Mozzarella"},
            {"id":2, "nomepietanza": "Insalata", "prezzo": 3.50, "ingredienti": "Insalata"}
        ]}
    ]
}

我想从数据库中获取数据,这是输出的第一部分,我得到“ servizi”,现在我想获得“ pietanze”并将其放入我显示的json中

<?php

$user = 'root';
$pass = '';
$db = 'taurosdb';

$connect = mysqli_connect("localhost", "root", "", "taurosdb");  

  $sql = "-query that takes me the "servizi"-";  
           $result = mysqli_query($connect, $sql);  
           $json_array = array();  
           while($row = mysqli_fetch_assoc($result))  
           {  
                $json_array[] = $row;  
           }  
echo json_encode(array('servizi' => $json_array));

?>

1 个答案:

答案 0 :(得分:0)

只需将数组设置为变量即可使用它。代替这个:

echo json_encode(array('servizi' => $json_array));

您可以说:

$my_big_array = ["servizi" => $json_array];

然后稍后:

$my_big_array["pietanze"] = $some_other_data;

然后最后可以输出JSON。不要忘记设置Content-Type标头。

header("Content-Type: application/json");
echo json_encode($my_big_array);