clamp

(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

Descripción

function clamp(mixed $value, mixed $min, mixed $max): mixed

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.

Precaución

Tenga cuidado al pasar argumentos de tipos diferentes, ya que clamp() puede producir resultados impredecibles.

Parámetros

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.

Valores devueltos

clamp() devuelve el valor del parámetro value si se considera "comprendido" entre min y max según las comparaciones estándar.

Si value es NAN, el valor devuelto también será NAN.

Errores/Excepciones

Si min es mayor que max, clamp() lanza una ValueError.

Si min o max es NAN, clamp() lanza una ValueError.

Ejemplos

<?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
?>

Véase también

  • min() - El valor más pequeño
  • max() - El valor más grande
+add a note

User Contributed Notes

There are no user contributed notes for this page.