array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.range.php', 1 => 'range', ), 'up' => array ( 0 => 'ref.array.php', 1 => 'Fonctions sur les tableaux', ), 'prev' => array ( 0 => 'function.prev.php', 1 => 'prev', ), 'next' => array ( 0 => 'function.reset.php', 1 => 'reset', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/array/functions/range.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
range — Crée un tableau contenant un intervalle d'éléments
Crée un tableau contenant un intervalle d'éléments.
Si à la fois start
et end
sont des
string, et que step
est de type
int, le tableau produit sera une séquence d'octets.
Sinon, le tableau produit sera une séquence de nombres.
La séquence est croissante si start
est inférieur ou égal à
end
.
Sinon, la séquence est décroissante.
start
Première valeur de la séquence.
end
Dernière valeur possible de la séquence.
step
step
indique de combien la séquence produite progresse
entre les valeurs de la séquence.
step
peut être négatif pour les séquences décroissantes.
Si step
est un float sans partie
fractionnaire, il est interprété comme un int.
Retourne une séquence d'éléments sous forme d'un tableau array avec le premier
élément étant start
allant jusqu'à
end
, chaque valeur de la séquence étant
séparée de step
valeurs.
Le dernier élément du tableau retourné est soit end
soit l'élément précédent de la séquence,
en fonction de la valeur de step
.
Si à la fois start
et end
sont
des string, et que step
est de type int
le tableau produit sera une séquence d'octets,
généralement des caractères ASCII latins.
Si au moins l'un des start
, end
ou step
est de type float,
le tableau produit sera une séquence de float.
Sinon, le tableau produit sera une séquence de int.
step
est égal à 0
,
une ValueError est générée.
start
, end
,
ou step
ne sont pas is_finite(),
une ValueError est générée.
step
est négatif,
mais la plage produite est croissante
(c'est-à-dire $start <= $end
),
une ValueError est générée.
start
ou end
est la chaîne vide ''
,
un E_WARNING
est émis et
la chaîne vide sera interprétée comme 0
.
start
ou end
est une chaîne non-numérique
avec plus d'un octet, un E_WARNING
est émis.
start
ou end
est une chaîne
qui est implicitement convertie en int parce que l'autre valeur
de limite est un nombre, un E_WARNING
est émis.
step
est de type float,
et que start
et end
sont
des chaînes non-numériques,
un E_WARNING
est émis.
Version | Description |
---|---|
8.3.0 |
Si à la fois start et end
sont des chaînes, alors range() produira désormais
systématiquement un tableau de string.
Auparavant, si l'une des valeurs limites était une chaîne numérique,
l'autre valeur limite était implicitement convertie en int.
|
8.3.0 |
Un E_WARNING est désormais émis si
start ou end
est une chaîne qui est implicitement convertie en int
parce que l'autre valeur limite est un nombre.
|
8.3.0 |
Un E_WARNING est désormais émis si
start ou end
est une chaîne non-numérique
avec plus d'un octet.
|
8.3.0 |
Un E_WARNING est désormais émis si
start ou end
est la chaîne vide.
|
8.3.0 |
Si step est de type float sans
partie fractionnaire, il sera interprété comme un int.
|
8.3.0 |
Une ValueError est désormais générée si
step est négatif lors de la production d'une plage croissante.
|
8.3.0 |
Une ValueError est désormais générée si
step n'est pas fini.
|
8.3.0 |
Une TypeError est désormais générée si
start ou end
est un tableau, un objet, ou une ressource.
Auparavant, elles étaient implicitement converties en int.
|
Exemple #1 Exemple avec range()
<?php
echo implode(', ', range(0, 12)), PHP_EOL;
echo implode(', ', range('a', 'i')), PHP_EOL;
echo implode(', ', range('c', 'a')), PHP_EOL;
echo implode(', ', range('A', 'z')), PHP_EOL;
?>
L'exemple ci-dessus va afficher :
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