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ě:
getNumbers(10, 100);/*** @return int[]*/function getNumbers(int $min, int $max): array{$numbers = [];for ($i = $min; $i <= $max; $i++) {$numbers[] = $i;}return $numbers;}
Nebo použít hotovou funkci range($min, $max, $step)
:
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]foreach (range(0, 12) as $number) {echo $number . '; ';}// [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]foreach (range(0, 100, 10) as $number) {echo $number . '; ';}// ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']foreach (range('a', 'i') as $char) {echo $char . '; ';}// ['c', 'b', 'a']foreach (range('c', 'a') as $char) {echo $char . '; ';}
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.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Nabízím trénink vývojářů, konzultace, školení a analýzu návrhových vzorů. Osobně v Praze nebo online.
Napište mi, pokud si nevíte rady.
Lektor: Jan Barášek
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | cs