PHP json_encode 2 массива - PullRequest
       27

PHP json_encode 2 массива

0 голосов
/ 24 мая 2019

Мне нужно создать 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 голосов
/ 24 мая 2019

Просто сделайте ваш массив переменной, чтобы вы могли работать с ним. Вместо этого:

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);
...