Back

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; } }