range în PHP

Creează un tablou cu un șir de numere sau de litere, de la o valoare la alta.

Sintaxă
range(string|int|float $start, string|int|float $end, int|float $step = 1): array

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 un for.

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.