4

是否可以在 PHP 中使用 range() 函数来生成分数或小数列表?

4

2 回答 2

8

是的,如果您指定步骤(第三个参数)。此参数仅在 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
)
于 2011-01-15T06:58:45.970 回答
1

它现在在 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
)
于 2016-09-09T18:06:30.253 回答