PHP 递归查找用户分销体系 - 计算一级和二级分销商的 User Power 之和
可以使用递归的方式来实现查找一级分销和二级分销的user_power之和。 首先,定义一个递归函数,接收一个用户ID和一个级别参数。在函数中,遍历数组,找到所有'superior_user_id'等于给定用户ID的元素,并将其对应的'user_power'值累加到一个变量中。然后,根据级别参数决定是否继续递归查找下一级分销。最后,返回累加的'user_power'之和。
以下是实现该功能的代码:
function calculateUserPower($data, $userId, $level) {
$sum = 0;
foreach ($data as $item) {
if ($item['superior_user_id'] == $userId) {
$sum += $item['user_power'];
if ($level > 1) {
$sum += calculateUserPower($data, $item['id'], $level - 1);
}
}
}
return $sum;
}
$powerLevel1 = calculateUserPower($array, 141, 1);
$powerLevel2 = calculateUserPower($array, 141, 2);
echo '一级分销的user_power之和:'.$powerLevel1.'\n';
echo '二级分销的user_power之和:'.$powerLevel2;
以上代码会输出一级分销的user_power之和和二级分销的user_power之和。
注意:'$array'是你提供的数据数组。
原文地址: https://www.cveoy.top/t/topic/H85 著作权归作者所有。请勿转载和采集!