PHP: увеличивать число на 5 каждый раз - PullRequest
1 голос
/ 28 января 2012

Я пытаюсь воспроизвести следующее как одну строку.

if($l < 10) $next = 5; return;
if($l < 20) $next = 10; return;
if($l < 30) $next = 15; return;
if($l < 40) $next = 20; return;
if($l < 50) $next = 25; return;
if($l < 60) $next = 30; return;
if($l < 70) $next = 35; return;
if($l < 80) $next = 40; return;
if($l < 90) $next = 45; return;
if($l < 100) $next = 50; return;

(не синтаксически правильно, но вы поняли идею)

Так что, если число меньше 10, $ next равно 5, а если число меньше 20, то это10.

$next = ((round($l, -1)-5)); как можно ближе к нему, но это дает

5
15
25
35
45
55
65
75
85

не нужные 5, 10, 15, 20 .. и т. Д.

Как правильно написать это?

Ответы [ 5 ]

4 голосов
/ 28 января 2012

прибавьте 10 к вашему числу, затем разделите результат на 10 и округлите его до ближайшего (минимального) целого числа, тогда у вас будет число, на которое нужно умножить 5, что даст ваш результат ... так что ... , скажем, ваш номер 47.

47 + 10 = 57

57/10 = 5,7

этаж 5,7 = 5

5х5 = 25

return floor(($i + 10)/10) * 5
1 голос
/ 28 января 2012

(($l + 10) / 10) * 5 сделает свое дело

0 голосов
/ 28 января 2012

Если я правильно понимаю ваш вопрос, это не сложнее, чем;

$next = floor($l/10)*5+5;
0 голосов
/ 28 января 2012

Это может сделать:

$i=10;
while($l < $i){
    $next = $i / 2;
    $i+=10;
}
0 голосов
/ 28 января 2012

РАЗДЕЛИТЕ через десять (и округлите это до целого), затем умножьте это на 5 ... 100/10 = 10 => 10 * 5 = 50

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...