PHP 计算一级和二级分销的 user_power 总和
您可以使用以下代码来实现该功能:
function calculateUserPowerSum($data, $superiorId = 0, $level = 0) {
$sum = 0;
foreach ($data as $item) {
if ($item['superior_user_id'] == $superiorId) {
$sum += $item['user_power'];
if ($level < 2) {
$sum += calculateUserPowerSum($data, $item['id'], $level + 1);
}
}
}
return $sum;
}
$userPowerSumLevel1 = calculateUserPowerSum($data);
$userPowerSumLevel2 = calculateUserPowerSum($data, 0, 1);
echo '一级分销user_power总和:' . $userPowerSumLevel1 . '<br>';
echo '二级分销user_power总和:' . $userPowerSumLevel2;
这段代码定义了一个名为calculateUserPowerSum的递归函数,用于计算给定数据中指定上级用户ID的user_power总和。在每次递归调用中,该函数将检查当前项的上级用户ID是否与指定的上级用户ID相匹配。如果匹配,则将当前项的user_power添加到总和中,并进一步递归计算下一级分销的user_power总和(如果当前级别小于2)。最后,该函数返回计算得到的user_power总和。
在主代码中,我们首先调用calculateUserPowerSum函数来计算一级分销的user_power总和,并将结果赋值给$userPowerSumLevel1变量。然后,我们使用相同的函数来计算二级分销的user_power总和,并将结果赋值给$userPowerSumLevel2变量。最后,我们将这两个结果输出到屏幕上。
请注意,$data参数应该是您提供的数据数组,而$superiorId和$level参数是可选的,默认值分别为0和0。
原文地址: https://www.cveoy.top/t/topic/IcP 著作权归作者所有。请勿转载和采集!