您可以使用以下代码来实现该功能:

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。

PHP 计算一级和二级分销的 user_power 总和

原文地址: https://www.cveoy.top/t/topic/IcP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录