Ce face min / max
min și max primesc fie mai multe valori separate prin virgulă, fie un singur tablou. Returnează valoarea, nu poziția ei.
Sunt utile și pentru a limita o valoare între două margini: max(1, min($pagina, $ultimaPagina)) ține numărul paginii între 1 și ultima pagină.
Parametri
| Parametru | Descriere |
|---|---|
$value, ...$values |
Valorile comparate sau un singur tablou cu valori. |
Ce returnează
Cea mai mică, respectiv cea mai mare valoare, cu tipul ei original.
Exemple
Exemplul 1: Valori separate și tablou
<?php
echo min(7, 3, 9) . "\n";
echo max([120, 340, 210]) . "\n";
var_dump(max(1, "2", 3.5));
Rezultat
3
340
float(3.5)
Exemplul 2: Cel mai ieftin produs
<?php
$preturi = ["Mouse" => 80, "Cablu" => 15, "Monitor" => 900];
$minim = min($preturi);
echo array_search($minim, $preturi) . " costă $minim lei";
Rezultat
Cablu costă 15 lei
Exemplul 3: Limitarea unei valori între două margini
<?php
$ultimaPagina = 5;
foreach ([-2, 3, 99] as $pagina) {
echo max(1, min($pagina, $ultimaPagina)) . "\n";
}
Rezultat
1
3
5
Greșeli frecvente
- Dai un tablou gol. În PHP 8 primești
ValueError: min(): Argument #1 ($value) must contain at least one element. Verifică înainte cucountsauempty. - Amesteci texte și numere. Comparația dintre text și număr poate da rezultate neașteptate:
min("abc", 0)returnează0.
Comenzi înrudite
sort: Sortează elementele unui tablou crescător. Există și variante pentru descrescător și pentru chei.array_sum / array_product: Adună toate valorile unui tablou (array_sum) sau le înmulțește (array_product).abs: Returnează valoarea absolută a unui număr, adică numărul fără semnul minus.