range

(PHP 4, PHP 5, PHP 7, PHP 8)

range — Створює масив, що містить діапазон елементів

Опис

range(string|int|float $start, string|int|float $end, int|float $step = 1): array

Створює масив, що містить діапазон елементів.

Если оба параметра —startиend— будут строками (string), а параметрstep - Числом (int), то створений масив буде послідовністю байтів. В інших випадках створений масив буде послідовністю чисел.

Послідовність зростатиме, якщо значення параметра start менше або дорівнює значенню параметра end. В іншому випадку послідовність зменшуватиметься.

Список параметрів

start

Перше значення послідовності.

end

Остання значення послідовності.

step

Параметрstep визначає, на скільки змінюватимуться значення у створюваній послідовності.

В параметрstep можна передавати негативне значення, якщо потрібно створити спадну послідовність.

Если значение параметраstep буде числом з плаваючою точкою (float) без дробової частини, воно буде інтерпретовано як ціле число (int).

Значення, що повертаються

Повертає послідовність елементів у вигляді масиву (array), в якому перший елемент набуває значення параметра start, а последний — параметраend, в якій кожне значення послідовності відстає від іншого на вказане у параметрі step кількість кроків.

Останній елемент поверненого масиву дорівнюватиме або значення параметра end, або попереднього значення послідовності, залежно від значення параметра step

Если оба параметра —startиend— будут строками (string), а параметрstep - Числом (int), то створений масив буде послідовністю байтів, зазвичай латинських символів у кодуванні ASCII.

Якщо хоча б одне із значень параметрів start end, илиstep буде числом із плаваючою точкою (float), створений масив буде послідовністю значень float.

Інакше створений масив буде послідовністю цілих чисел (int).

Помилки

  • Если значение параметраstep буде одно , буде викинуто виняток ValueError
  • Якщо значення хоча б одного з параметрівstart end, илиstepвиявиться неприпустимим кінцевим числом, як його визначає функціяis_finite(), буде викинуто виняток ValueError
  • Если значение параметраstep будет отрицательным при создании возрастающей последовательности (т. е . $start <= $end), буде викинуто виняток ValueError
  • Якщо значення хоча б одного з параметрівstartилиendбуде порожнім рядком (''), це призведе до помилки рівня**E_WARNING**, а порожній рядок буде інтерпретований як ціле число
  • Якщо значення хоча б одного з параметрів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()

Loading...

Результат виконання наведеного прикладу:

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

Дивіться також