#php
#php
Вопрос:
Я знаю, что это довольно необычный вопрос, но мне нужно найти следующую 10-ю позицию
Позвольте мне пояснить на примере:
У меня будет несколько чисел, таких как
2, 5, 8, 13, 28, 35, 42, 49
Я хочу найти следующую 10-ю позицию
2 => 10
5 => 10
8 => 10
13 => 20
28 => 30
35 => 40
42 => 50
49 => 50
Как я могу это найти, пожалуйста, помогите, ребята. Спасибо.
Извините за плохой английский.
Комментарии:
1. Я думаю, по-английски это обычно называется «10-я позиция». Просто пытаюсь помочь.
2. Итак, вы хотите округлить до ближайшего значения, кратного десяти.
Ответ №1:
Разделите на 10, ceil()
, умножьте на 10.
Комментарии:
1. 1 хороший ответ. однако я бы предпочел сделать это без использования каких-либо плавающих точек, пусть даже временно, поэтому я бы предпочел подход с использованием modulus, а не
ceil()
.
Ответ №2:
$next10th = round( $number 5 , -1 , PHP_ROUND_HALF_DOWN )
Если число является целым числом, вы также можете использовать:
$next10th = $number 9 - (($number-1) % 10)
Комментарии:
1. 1 Я бы предпочел любой из них решению, использующему
ceil()
илиfloor()
.
Ответ №3:
$numbers = array(2, 5, 8, 13, 28, 35, 42, 49);
foreach ($numbers as $n) {
echo $n . ' => ' . ((floor($n / 10) 1) * 10) . "<br />n";
}
или
$numbers = array(2, 5, 8, 13, 28, 35, 42, 49);
foreach ($numbers as $n) {
echo $n . ' => ' . (ceil($n / 10) * 10) . "<br />n";
}
Оба вывода:
2 => 10
5 => 10
8 => 10
13 => 20
28 => 30
35 => 40
42 => 50
49 => 50