5 function main_range() {
11 // The step parameter was introduced in 5.0.0
12 $ret = range(0, 100, 10);
13 var_dump(count($ret));
18 // Use of character sequences introduced in 4.1.0
19 // array("a", "b", "c", "d", "e", "f", "g", "h", "i");
20 $ret = range("a", "i");
21 var_dump(count($ret));
26 var_dump(range("c", "a"));
28 var_dump(range(1.0, 3.0));
29 var_dump(range(3.0, 1.0));
31 // test large range boundaries. Old versions of php and HHVM internally
32 // converted range boundaries to floating point numbers, which could couse
34 var_dump(range(-9223372036854775298, -9223372036854775294));
35 var_dump(range('-9223372036854775298', '-9223372036854775294'));
36 var_dump(range(1<<55, (1<<55) +
20, 10));
38 // verify, floating point boundaries do not need to infinite loop
39 $ret = range(-9223372036854775298.0, -9223372036854775294.0);
40 var_dump(gettype($ret));
41 var_dump(count($ret) >= 1024);
42 $ret = range('-9223372036854775298.0', '-9223372036854775294.0');
43 var_dump(gettype($ret));
44 var_dump(count($ret) >= 1024);