Я настраиваю файловый браузер и хочу проанализировать массив JSON, чтобы получить иерархию папок, но не могу создать нужную структуру в массиве JSON из ассоциативного массива.
Это два ассоциативных массива, которые я выбрал из базы данных.
$directory = Array ( [0] => stdClass Object ( [dir_name] => Car [dir_id] => car ) [1] => stdClass Object ( [dir_name] => Bus [dir_id] => bus ) )
$subdirectory = Array ( [0] => stdClass Object ( [sub_name] => Toyota [sub_id] => toyota [dir_id] => car) [1] => stdClass Object ( [sub_name] => Volvo [sub_id] => volvo [dir_id] => bus) )
Я пробовал вот так
$parentdirectory = [];
$parentfolder = [];
$subf = [];
$subfolder = [];
foreach ($directory as $dir) {
$parentdirectory['id'] = $dir->id;
$parentdirectory['value'] = $dir->name;
foreach (subdirectory as $sub) {
if ($dir->dir_id == $sub->dir_id) {
$subfolder['id'] = $sub->sub_id;
$subfolder['value'] = $sub->sub_name;
array_push($subf, $subfolder);
array_push($parentdirectory, $subf);
}
}
array_push($parentfolder, $parentdirectory);
}
echo json_encode($parentfolder);
На самом деле, я хочу массив JSON, какэто
[
{
id: "car",
value: "Car",
data: [{
id: "toyota",
value: "Toyota"
}]
},
{
id: "bus",
value: "Bus",
data: [{
id: "volvo",
value: "Volvo"
}]
}
]