Ce face range
range generează toate valorile dintre $start și $end, inclusiv capetele. Merge crescător și descrescător, cu numere întregi, cu zecimale sau cu litere.
Pasul ($step) se dă ca număr pozitiv chiar și pentru un șir descrescător. Din PHP 8.3, un pas negativ pentru un șir crescător dă eroarea ValueError.
Parametri
| Parametru | Descriere |
|---|---|
$start |
Prima valoare. |
$end |
Ultima valoare (inclusă, dacă pasul ajunge la ea). |
$step |
Opțional. Diferența dintre două valori consecutive. |
Ce returnează
Un tablou cu valorile generate.
Exemple
Exemplul 1: Numere și litere
<?php
echo implode(" ", range(1, 10)) . "\n";
echo implode(" ", range("a", "f")) . "\n";
echo implode(" ", range(0, 100, 25));
Rezultat
1 2 3 4 5 6 7 8 9 10
a b c d e f
0 25 50 75 100
Exemplul 2: Descrescător și cu zecimale
<?php
echo implode(" ", range(10, 0, 2)) . "\n";
echo implode(" ", range(0, 1, 0.25));
Rezultat
10 8 6 4 2 0
0 0.25 0.5 0.75 1
Exemplul 3: Lista anilor pentru un formular
<?php
foreach (range(2026, 2023) as $an) {
echo "<option>$an</option>\n";
}
Rezultat
<option>2026</option>
<option>2025</option>
<option>2024</option>
<option>2023</option>
Greșeli frecvente
- Faci
range(1, 1000000)doar ca să numeri într-o buclă. Tabloul ocupă mult în memorie: folosește unfor.
Comenzi înrudite
array_fill / array_fill_keys: Creează un tablou în care toate elementele au aceeași valoare.for: Repetă un bloc de cod de un număr cunoscut de ori.foreach: Parcurge, pe rând, fiecare element dintr-un tablou.