Как получить оставшееся значение в массиве с помощью foreach - PullRequest
0 голосов
/ 09 мая 2020

В основном я хочу получить сумму и оставшееся значение, но я не получил точного значения.

это мой следующий код

    $arr = [5000,2000];
    $return = 0;

    foreach($arr as $val) {
        $sum = (3000 * 10) / 9; 
        if($val < $sum) {
           $v += $val;
           $return =  ($v % $sum);
           if($return == $v)
           $return = 0;
         } else {
          $return = $val;
         }

        $amount = abs($val - $ret);

        print_r("Return : ".$return . " Amount : " .$amount."<br>");
    }

результат

Return : 5000 Amount : 5000
Return : 0 Amount : 2000

, но это неправильное значение, я хочу получить вот так

Return : 1667 Amount : 3333
Return : 2000 Amount : 0

Резюме: я хочу ограничить числовую базу по значению $ sum и вернуть оставшееся значение и получить сумму, поэтому Я пишу этот код выше, но не могу понять. извините за мой плохой engli sh

Спасибо, извините, я новичок в php

1 Ответ

0 голосов
/ 09 мая 2020

Если я вас правильно понял. Вам это нужно.

$values = [5000, 2000];

foreach ($values as $value) {
    $n = 3333;
    $remain = $value - $n;

    if ($remain < 0) {
        print 'Return : ' . $value . ' Amount : 0';
    } else {
        print 'Return : ' . $remain . ' Amount : ' . $n;
    }
}
...