Získání abecedy, pole čísel a intervalů

Poměrně často potřebujeme mít k dispozici pole hodnot, které se odvozují velice jednoduchým algoritmem (třeba pole čísel od $min do $max), to lze vyřešit buď složitě:

 1 getNumbers(10, 100);
 2 
 3 function getNumbers(int $min, int $max): array
 4 {
 5     $numbers = [];
 6     for ($i = $min; $i <= $max; $i++) {
 7         $numbers[] = $i;
 8     }
 9 
10     return $numbers;
11 }

Nebo použít hotovou funkci range($min, $max, $step):

 1 // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
 2 foreach (range(0, 12) as $number) {
 3     echo $number . '; ';
 4 }
 5 
 6 // [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
 7 foreach (range(0, 100, 10) as $number) {
 8     echo $number . '; ';
 9 }
10 
11 // ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
12 foreach (range('a', 'i') as $char) {
13     echo $char . '; ';
14 }
15 
16 // ['c', 'b', 'a']
17 foreach (range('c', 'a') as $char) {
18     echo $char . '; ';
19 }

Tato funkce má využití třeba v modulu Paginator, který řeší stránkování dlouhého seznamu výsledků, nebo obecně zatřídění do nějakého katalogu.

Sponzorované odkazy
Pomohl Vám tento článek?