(PHP 4, PHP 5, PHP 7, PHP 8)
range — Cria um array contendo uma faixa de elementos
Cria um array contendo uma faixa de elementos.
Se ambos start e end forem
strings, e step é int,
o array produzido será uma sequência de bytes.
Em outros casos, o array produzido será uma sequência de números.
A sequência é crescente se start é menor ou
igual a end.
Em outros casos, a sequência é decrescente.
Retorna uma sequência de elementos como um array onde o primeiro
elemento é start progredindo a até
end, com cada valor da sequência separados por
step valores.
O último elemento do array retornado pode ser end
ou um valor anterior da sequência, a depender
do valor de step.
Se ambos start e end são
strings, e step é int,
o array produzido será uma sequẽncia de bytes,
geralmente as letras latinas no padrão ASCII.
Se start, end,
ou step forem float,
o array produzido será uma sequẽncia de floats.
Em outros casos, o array produzido será uma sequência de int.
step é 0,
um erro ValueError é lançado.
start, end,
ou step não for is_finite(),
um erro ValueError é lançado.
step é negativo,
mas o array produzido é crescente
($start <= $end),
um erro ValueError é lançado.
start ou end
é um string vazia '',
um aviso E_WARNING é emitido
e a string vazia é interpretada como 0.
start ou end forem uma
string não numérica
com mais de um byte, um aviso E_WARNING é emitido.
start ou end é uma string
que pode ser implicitamente convertida para um int,
um aviso E_WARNING é emitido.
step é um float,
e start e end forem uma
string não numérica,
um aviso E_WARNING é emitido.
| Versão | Descrição |
|---|---|
| 8.3.0 |
Se ambos start e end
forem strings então range() nem sempre produzirá
um array de bytes.
Anteriormente, se um dos valores limite for uma string numérica,
então o outro valor string é implicitamente convertido para um int.
|
| 8.3.0 |
Um aviso E_WARNING agora é emitido se
start ou end
é uma string implicitamente conversível para int
se quaisquer valores limite é interpretado como um número.
|
| 8.3.0 |
Um aviso E_WARNING agora é emitido se
start ou end
é uma string não numérica com mais de um byte.
|
| 8.3.0 |
Um aviso E_WARNING agora é emitido se
start ou end
é uma string vazia.
|
| 8.3.0 |
Se step é um float sem
parte fracionária, ele será interpretado como um int.
|
| 8.3.0 |
Um erro ValueError agora é lançado se
step é negativo quando da produção de
um array crescente.
|
| 8.3.0 |
Um erro ValueError agora é lançado se
step não for finito.
|
| 8.3.0 |
Um erro TypeError agora é lançado se
start ou end
é um array, object ou resource.
Anteriormente eles eram implicitamente convertidos para int.
|
Exemplo #1 Exemplos de 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;
?>O exemplo acima produzirá:
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