(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.
start
Primer 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