(PHP 4, PHP 5, PHP 7, PHP 8)
range — Створює масив, який містить послідовність елементів
Створює масив, який містить послідовність елементів.
Якщо start
і end
мають тип
string, а step
— int, то
отриманий масив буде послідовністю байтів. В іншому випадку отриманий масив
буде послідовністю чисел.
Послідовність буде висхідною, якщо значення start
менше або рівне end
. Інакше послідовність буде
низхідною.
Повертає послідовність значень у вигляді масиву (array)
елементів від start
до end
, з
кроком step
.
Залежно від значення step
, останнім елементом
отриманого масиву є або значення end
, або попередній
член послідовності.
Якщо start
і end
мають тип
string, а step
— int, то
отриманий масив буде послідовністю байтів, зазвичай це латинські символи
ASCII.
Якщо принаймні один з параметрів start
,
end
, step
має тип
float, то отриманий масив буде float-послідовністю.
В іншому випадку отриманий масив буде int-послідовністю.
step
є 0
, викинеться
ValueError.
start
, end
,
або step
не є is_finite(),
викинеться ValueError.
step
є від'ємним, але послідовність є висхідною
(напр. $start <= $end
), викинеться
ValueError.
start
або end
є порожнім
рядком ''
, виведеться E_WARNING
, а
порожній рядок перетвориться на 0
.
start
або end
не є
числовим рядком та
має більше ніж один байт, то виведеться E_WARNING
.
start
або end
є рядком,
що неявно приводиться до int, коли інше граничне значення є
числом, то виведеться E_WARNING
.
step
має тип float, а
start
і end
є
не числовими рядками,
виведеться E_WARNING
.
Версія | Опис |
---|---|
8.3.0 |
Тепер, якщо start і end є
рядками, то range() повертатиме масив
(array) байтів. Раніше, якщо одне з граничних значень було
числовим рядком, то інше граничне значення було неявно приведено до
int.
|
8.3.0 |
Тепер виводиться E_WARNING , якщо
start або end є рядком, що
неявно приводиться до int, коли інше граничне значення є
числом.
|
8.3.0 |
Тепер виводиться E_WARNING , якщо
start або end є нечисловим
рядком розміром більше ніж байт.
|
8.3.0 |
Тепер виводиться E_WARNING , якщо
start або end є порожнім
рядком.
|
8.3.0 |
Тепер, якщо параметр step має тип float і не
має дробової частини, то він перетворюється в int.
|
8.3.0 |
Тепер викидається ValueError, якщо
step є від'ємним, а послідовність висхідна.
|
8.3.0 |
Тепер викидається ValueError якщо
step не є допустимим числом.
|
8.3.0 |
Тепер викидається TypeError, якщо параметр
start або end має тип
array, object або resource.
Раніше такі типи неявно приводились до int.
|
Приклад #1 Використання range()
<?php
echo implode(', ', range(0, 12)), PHP_EOL;
echo implode(', ', range(0, 100, 10)), PHP_EOL;
echo implode(', ', range('a', 'i')), PHP_EOL;
echo implode(', ', range('c', 'a')), PHP_EOL;
echo implode(', ', range('A', 'z')), PHP_EOL;
?>
Поданий вище приклад виведе:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 a, b, c, d, e, f, g, h, i c, b, a A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z