Price divide formula/functions for different Users
Copy Below Code
View As A Text File
Show Text Only
Show API
Edit Code
function apply_divide_formula($resultArr){
// $resultArr = [40 => 900, 41 => -150, 42 => -250, 43 => -250];
$plusArr = [];
$minusArr = [];
foreach ($resultArr as $kk => $vv) {
if ($vv > 0) {
$plusArr[$kk] = $vv;
}
if ($vv < 0) {
$minusArr[$kk] = $vv;
}
}
$balanceArr = [];
$finalArr = [];
foreach ($plusArr as $kk => $vv) {
foreach ($minusArr as $kk2 => $vv2) {
// if($plusArr[$kk]>= $minusArr[$kk2])
$minusValue = abs($minusArr[$kk2]);
$value = $plusArr[$kk] - $minusValue;
if ($value === 0) {
$finalArr[$kk][$kk2] = $plusArr[$kk] + ($finalArr[$kk][$kk2] ?? 0);
$vv = $plusArr[$kk] = 0;
$vv2 = $minusArr[$kk2] = 0;
} else if ($value > 0) {
$finalArr[$kk][$kk2] = $minusValue + ($finalArr[$kk][$kk2] ?? 0);
$vv = $plusArr[$kk] = $value;
$vv2 = $minusArr[$kk2] = 0;
} else {
$finalArr[$kk][$kk2] = $plusArr[$kk] + ($finalArr[$kk][$kk2] ?? 0);
$vv = $plusArr[$kk] = 0;
$vv2 = $minusArr[$kk2] = $value;
}
$balanceArr[$kk][$kk2] = $value;
}
}
return $finalArr;
}
}