<?php
function sumShuzi(&$tree, &$updateData = array()) {
$sum = 0;
foreach($tree as &$item) {
if(isset($item['children'])) {
$oldPshuzi = $item['Pshuzi'];
$item['Pshuzi'] = sumShuzi($item['children'], $updateData);
if($oldPshuzi != $item['Pshuzi']) {
$updateData[$item['id']] = array($item['Pshuzi'], $item['Pname_ch']);
}
}
$sum += $item['Pshuzi'];
}
return $sum;
}
$tree = json_decode('[{"id":"1","Pid":"0","Pname_ch":"\u6e20\u9053\u90e8","Pshuzi":"1638000","children":[{"id":"4","Pid":"1","Pname_ch":"\u9500\u552e\u4e8c\u90e8","Pshuzi":"895000","children":[{"id":"13","Pid":"4","Pname_ch":"\u5468\u7ecf\u7406","Pshuzi":"28","children":[{"id":"28","Pid":"13","Pname_ch":"\u6e56\u5357","Pshuzi":"158000"},{"id":"35","Pid":"13","Pname_ch":"\u65b0\u7586","Pshuzi":"19000"}]},{"id":"40","Pid":"4","Pname_ch":"\u9648\u7ecf\u7406","Pshuzi":"5000"}]}]}]', true);
sumShuzi($tree, $updateData);
print_r($tree);
print_r($updateData);
//问题:$tree里的周经理 Pshuzi为啥是28,而不是177000