PHP: разделить массив от 10 до 10 с минимальным и максимальным значением - PullRequest
1 голос
/ 10 октября 2019

Я не знаю, как сформировать это правильно, поэтому вот концепция.

У меня есть, например, 93.5 и 35 в виде чисел.

То, что я хотел бы сделать, это получить из минимального значения предыдущий номер 10er, в данном случае 30, и получить из максимального значения следующее число 10er, которое в этом случае равно 100.

Следующим шагом является получение массива из каждого числа 10er между этими двумя числами. Это выглядело бы так:

array(8 items)
   0 => 30 
   1 => 40 
   2 => 50 
   3 => 60 
   4 => 70 
   5 => 80 
   6 => 90 
   7 => 100 

Итак, вопрос в том, как мне добиться этого с помощью PHP

1 Ответ

2 голосов
/ 10 октября 2019

После некоторого кодирования я нашел решение.

Первый шаг: Получите минимальное и максимальное числа и установите для них предыдущий и следующий номер 10er:

$minSize = floor(35 / 10) * 10; /* Gives back 30 */
$maxSize = ceil( 93.5 / 10) * 10; /* Gives back 100*/

Теперь получитечисло из $maxSize didvided на 10 .

$devidedNumber = $maxSize / 10; /* Gives back 10 */

После этого необходимо создать итерацию for, используя $devidedNumber, чтобы решить, сколько раз этоитерация должна выполняться.

$sizedArray = array();

for ($i = $minSize/10; $i <= $devidedNumber; $i++)
{
   $sizedArray[] = $i * 10;
}

$i начинается с 3 , потому что нам нужно значение, которое начинается с 30 до целевого значения.

И результат:

array(8 items)
   0 => 30 
   1 => 40 
   2 => 50 
   3 => 60 
   4 => 70 
   5 => 80 
   6 => 90 
   7 => 100 

РЕДАКТИРОВАТЬ:

После ответа @Nigel Ren, другой способ сделать это заключается в следующем. После округления чисел итерация for может выглядеть следующим образом:

 for ($i = $minSize; $i <= $maxSize; $i+=10)
 {
    $sizedArray[] = $l;
 }

В этом случае код упрощается путем удаления строки

 $devidedNumber = $maxSize / 10; /* Gives back 10 */

и получения непосредственно междузначения от округленных.

Спасибо за приятное предложение

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