(PHP 8 >= 8.6.0)
clamp — Devuelve el valor dado si está dentro del rango; en caso contrario, devuelve el límite más cercano
Devuelve el valor dado si está dentro del rango definido por min y max.
Si es inferior a min, devuelve min.
En caso contrario, devuelve max.
Nota:
Los valores de tipos diferentes se compararán utilizando las reglas de comparación estándar. Por ejemplo, un string no numérico se comparará con un int como si fuera
0, pero varios valores string no numéricos se compararán de forma alfanumérica. El valor devuelto será del tipo original, sin aplicar ninguna conversión.
Tenga cuidado al pasar argumentos de tipos diferentes, ya que clamp() puede producir resultados impredecibles.
value
Cualquier valor comparable
que se limitará entre min y max.
min
Un mínimo comparable al que
se limita value.
max
Un máximo comparable al que
se limita value.
clamp() devuelve el valor del parámetro value si
se considera "comprendido" entre min y max según las
comparaciones estándar.
Si min es mayor que max,
clamp() lanza una ValueError.
Si min o max es NAN,
clamp() lanza una 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
?>