Я пытаюсь объединить по меньшей мере два массива в JSON, используя PHP. В настоящее время это мой код:Объединить вложенные массивы в PHP, возвращающие json
/* Get most frequently used applications */
$var = array();
$sql = "SELECT * FROM MostFrequentlyApps WHERE UID = 'yxz'";
$result = mysqli_query($con, $sql);
while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
$allData = array_merge($allData,$var);
/* Get user favorites */
$var = array();
$sql = "SELECT * FROM UserFavorites WHERE UID = 'yxz'";
$result = mysqli_query($con, $sql);
while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
$allData = array_merge($allData,$var);
echo json_encode($allData);
И JSON-кода я получаю выглядит так:
[
{
"UID": "xyz",
"Application": "Test",
"AppLink": "http://www.google.com",
"AppIcon": "icon.png"
},
{
"UID": "xyz",
"Application": "Test2",
"AppLink": "http://www.facebook.com",
"AppIcon": "icon2.png"
},
{
"UID": "xyz",
"URL": "www.yahoo.com"
},
{
"UID": "xyz",
"URL": "www.bing.com"
}
]
Но я должен был бы результаты выглядеть, поэтому вид иерархии с одной частью посевом приложения и другая часть, показывая фаворит:
{
"apps":
[
{
"UID": "xyz",
"Application": "Test",
"AppLink": "http://www.google.com",
"AppIcon": "Icon.png"
},
{
"UID": "xyz",
"Application": "Test2",
"AppLink": "http://www.facebook.com",
"AppIcon": "icon2.png"
}
]
"favs":
[
{
"UID": "xyz",
"URL": "www.yahoo.com"
},
{
"UID": "xyz",
"URL": "www.bing.com"
}
]
}
Но моя проблема в том, что я не знаю, как объединить эти два массива и получать эту иерархическую структуру, в конце концов. Нужно ли сначала объединять массивы, а затем кодировать их в JSON? Может, кто-то может дать мне подсказку.
Заранее благодарен!
работает как шарм, спасибо! –