(PHP 4, PHP 5, PHP 7, PHP 8)
range — Crea un array que contiene un intervalo de elementos
Crea un array que contiene un intervalo de elementos.
Si tanto start como end son
string, y step es de tipo
int, el array producido será una secuencia de bytes.
De lo contrario, el array producido será una secuencia de números.
La secuencia es creciente si start es menor o igual a
end.
De lo contrario, la secuencia es decreciente.
startPrimer valor de la secuencia.
endÚltimo valor posible de la secuencia.
step
step indica de cuánto progresa la secuencia producida
entre los valores de la secuencia.
step puede ser negativo para las secuencias decrecientes.
Si step es un float sin parte
fraccionaria, se interpreta como un int.
Devuelve una secuencia de elementos en forma de un array array con el primer
elemento siendo start hasta
end, cada valor de la secuencia estando
separado por step valores.
El último elemento del array devuelto es end
o el elemento anterior de la secuencia,
dependiendo del valor de step.
Si tanto start como end son
string, y step es de tipo int
el array producido será una secuencia de bytes,
generalmente caracteres ASCII latinos.
Si al menos uno de start, end
o step es de tipo float,
el array producido será una secuencia de float.
De lo contrario, el array producido será una secuencia de int.
step es igual a 0,
se genera una ValueError.
start, end,
o step no son is_finite(),
se genera una ValueError.
step es negativo,
pero la plage producida es creciente
(es decir, $start <= $end),
se genera una ValueError.
start o end
es la cadena vacía '',
se emite un E_WARNING y
la cadena vacía se interpretará como 0.
start o end
es una cadena no-numérica
con más de un byte, se emite un E_WARNING.
start o end es una cadena
que se convierte implícitamente en int porque el otro valor
límite es un número, se emite un E_WARNING.
step es de tipo float,
y start y end son
cadenas no-numéricas,
se emite un E_WARNING.
| Versión | Descripción |
|---|---|
| 8.3.0 |
Si tanto start como end
son cadenas, entonces range() producirá ahora
sistemáticamente un array de string.
Anteriormente, si uno de los valores límite era una cadena numérica,
el otro valor límite se convertía implícitamente en int.
|
| 8.3.0 |
Ahora se emite un E_WARNING si
start o end
es una cadena que se convierte implícitamente en int
porque el otro valor límite es un número.
|
| 8.3.0 |
Ahora se emite un E_WARNING si
start o end
es una cadena no-numérica
con más de un byte.
|
| 8.3.0 |
Ahora se emite un E_WARNING si
start o end
es la cadena vacía.
|
| 8.3.0 |
Si step es de tipo float sin
parte fraccionaria, se interpretará como un int.
|
| 8.3.0 |
Ahora se genera una ValueError si
step es negativo al producir una plage creciente.
|
| 8.3.0 |
Ahora se genera una ValueError si
step no es finito.
|
| 8.3.0 |
Ahora se genera una TypeError si
start o end
es un array, un objeto, o un recurso.
Anteriormente, se convertían implícitamente en int.
|
Ejemplo #1 Ejemplo con 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;
?>El resultado del ejemplo sería:
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