<?php
function somaRecursiva(&$arr){
if (isset($arr["children"])){
$arr["node_value"] = 0;
foreach ($arr["children"] as $key => $value){
$arr["node_value"] += somaRecursiva($arr["children"][$key]);
}
}
return $arr["node_value"] ?? 0;
}
"node_id"=> 1,
"node_value" => 43.5,
"node_id" => 2,
"node_value" => 12.4,
"node_master" => 1),
"node_id" => 3,
"node_value" => 52.6,
"node_master" => 1),
"node_id"=> 4,
"node_value" => 43.5,
"node_id" => 5,
"node_value" => 49,
"node_master" => 4),
"node_id" => 6,
"node_value" => 40,
"node_master" => 4)
)
)
)
);
somaRecursiva($array);
echo "\nDepois da soma:";
PD9waHAKCmZ1bmN0aW9uIHNvbWFSZWN1cnNpdmEoJiRhcnIpewogICAgaWYgKGlzc2V0KCRhcnJbImNoaWxkcmVuIl0pKXsKICAgICAgICAKICAgICAgICAkYXJyWyJub2RlX3ZhbHVlIl0gPSAwOwogCiAgICAgICAgZm9yZWFjaCAoJGFyclsiY2hpbGRyZW4iXSBhcyAka2V5ID0+ICR2YWx1ZSl7CiAgICAgICAgICAgICRhcnJbIm5vZGVfdmFsdWUiXSArPSBzb21hUmVjdXJzaXZhKCRhcnJbImNoaWxkcmVuIl1bJGtleV0pOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAKICAgIH0KCiAgICByZXR1cm4gJGFyclsibm9kZV92YWx1ZSJdID8/IDA7Cn0KIAokYXJyYXkgPSBhcnJheSgKICAgICAgICAibm9kZV9pZCI9PiAxLAogICAgICAgICJub2RlX3ZhbHVlIiA9PiA0My41LAogICAgICAgICJjaGlsZHJlbiIgPT4gYXJyYXkgKAogICAgICAgICAgICAwID0+IGFycmF5KAogICAgICAgICAgICAgICAgIm5vZGVfaWQiID0+IDIsCiAgICAgICAgICAgICAgICAibm9kZV92YWx1ZSIgPT4gMTIuNCwKICAgICAgICAgICAgICAgICJub2RlX21hc3RlciIgPT4gMSksCiAgICAgICAgICAgIDEgPT4gYXJyYXkoCiAgICAgICAgICAgICAgICAibm9kZV9pZCIgPT4gMywKICAgICAgICAgICAgICAgICJub2RlX3ZhbHVlIiA9PiA1Mi42LAogICAgICAgICAgICAgICAgIm5vZGVfbWFzdGVyIiA9PiAxKSwKICAgICAgICAgICAgMiA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICAibm9kZV9pZCI9PiA0LAogICAgICAgICAgICAgICAgICAgICJub2RlX3ZhbHVlIiA9PiA0My41LAogICAgICAgICAgICAgICAgICAgICJjaGlsZHJlbiIgPT4gYXJyYXkgKAogICAgICAgICAgICAgICAgICAgICAgICAwID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vZGVfaWQiID0+IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9kZV92YWx1ZSIgPT4gNDksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9kZV9tYXN0ZXIiID0+IDQpLAogICAgICAgICAgICAgICAgICAgICAgICAxID0+IGFycmF5KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vZGVfaWQiID0+IDYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9kZV92YWx1ZSIgPT4gNDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm9kZV9tYXN0ZXIiID0+IDQpCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgKQogICAgICAgICkKKTsKIApzb21hUmVjdXJzaXZhKCRhcnJheSk7CiAKZWNobyAiXG5EZXBvaXMgZGEgc29tYToiOwpwcmludF9yKCRhcnJheSk7