(PHP 8 >= 8.6.0)
clamp — Retourne la valeur d'entrée si elle est comprise entre 2 bornes, sinon retourne la borne la plus proche
Retourne la valeur d'entrée si elle est comprise entre min et max.
Si elle est inférieure à min, retourne min.
Sinon retourne max.
Note:
Les valeurs de différents types seront comparées en utilisant les règles de comparaison standard. Actuellement, une chaîne non numérique sera comparée à un entier, comme s'il s'agissait de la valeur
0, mais plusieurs chaîne de caractères non-numérique seront comparées de façon alphanumérique. La valeur actuelle retournée sera du même type que l'original et aucune conversion de type ne sera appliquée.
Soyez prudent lorsque vous passez des arguments avec des types différents, car clamp() peut produire des résultats imprévisibles.
value
Toute valeur comparable à resserrer entre
min et max.
min
Une valeur minimum comparable
à laquelle contraindre value.
max
Une valeur maximum comparable
à laquelle contraindre value.
La fonction clamp() retourne le paramètre value
s'il est considéré comme "entre" min et max
suivant la comparaison standard.
Si plusieurs valeurs de types différents sont évaluées comme étant égales
(i.e. 0 et 'abc'), la première fournie
à la fonction sera retournée.
Si value est NAN, alors la valeur de retour
est également NAN.
Si min est supérieur à max,
la fonction clamp() lance une ValueError.
Si min ou max est NAN,
la fonction clamp() lance une ValueError.
<?php
echo clamp(-5, min: 0, max: 100), PHP_EOL; // 0
echo clamp(55, min: 0, max: 100), PHP_EOL; // 55
echo clamp(103, min: 0, max: 100), PHP_EOL; // 100
echo clamp("J", min: "A", max: "F"), PHP_EOL; // "F"
clamp(
new \DateTimeImmutable('2025-08-01'),
min: new \DateTimeImmutable('2025-08-15'),
max: new \DateTimeImmutable('2025-09-15'),
)->format('Y-m-d'), PHP_EOL; // 2025-08-15
?>