<?php
$json = '{
"id": 1,
"label": "Beef",
"sector_page_id": null,
"value": 0,
"tree_children": [
{
"id": 46,
"label": "Beef",
"sector_page_id": null,
"value": 0,
"tree_children": [
{
"id": 47,
"label": "Beef - UK",
"sector_page_id": null,
"value": 15,
"tree_children": []
},
{
"id": 48,
"label": "Beef - Europe",
"sector_page_id": null,
"value": 25,
"tree_children": []
},
{
"id": 49,
"label": "Beef - Rest of World",
"sector_page_id": null,
"value": 0,
"tree_children": []
}
]
}
]
}';
$obj = json_decode($json);
function sum_recursive(object $obj): int {
foreach ($obj->tree_children as $child) {
$obj->value += sum_recursive($child);
}
return $obj->value;
}
sum_recursive($obj);
var_export($obj);
preferences:
26.66 ms | 405 KiB | 5 Q