PHP: можно ли использовать range () для дробей? - PullRequest
3 голосов
/ 15 января 2011

Возможно ли использовать функцию range () в PHP для генерации списка дробей или десятичных дробей?

Ответы [ 2 ]

7 голосов
/ 15 января 2011

Да, если указать шаг (третий параметр).Этот параметр доступен только в PHP 5, но вы все равно должны его использовать.

Например, чтобы генерировать десятичные числа от 0 до 1 включительно с интервалом 0,1:

print_r(range(0, 1, 0.1));

Вывод:

Array
(
    [0] => 0
    [1] => 0.1
    [2] => 0.2
    [3] => 0.3
    [4] => 0.4
    [5] => 0.5
    [6] => 0.6
    [7] => 0.7
    [8] => 0.8
    [9] => 0.9
    [10] => 1
)
1 голос
/ 09 сентября 2016

Теперь он для меня не работает на PHP 7.0.10, возможно, из-за проблем округления в зависимости от границ диапазона.

Работает для диапазона 0.1..0.9:

print_r(range(0.1, 0.9, 0.1));
Array
(
    [0] => 0.1
    [1] => 0.2
    [2] => 0.3
    [3] => 0.4
    [4] => 0.5
    [5] => 0.6
    [6] => 0.7
    [7] => 0.8
    [8] => 0.9
)

Битнапример, он разбит на диапазон 0.2..0.9 (отсутствует 0.9):

print_r(range(0.2, 0.9, 0.1));
Array
(
    [0] => 0.2
    [1] => 0.3
    [2] => 0.4
    [3] => 0.5
    [4] => 0.6
    [5] => 0.7
    [6] => 0.8
)
...