W3docs

fmod()

Aprende a usar la función fmod() en PHP para obtener el resto de una división entre dos números con punto flotante.

Hoy hablaremos de la función fmod() en PHP. Esta función se utiliza para obtener el resto de una operación de división entre dos números.

¿Qué es la función fmod()?

La función fmod() en PHP es una función incorporada que se usa para obtener el resto de una operación de división entre dos números. La función recibe dos números como entrada y devuelve el resto de la operación de división como un número de punto flotante.

Sintaxis y parámetros

fmod(float $num1, float $num2): float
  • $num1: El dividendo.
  • $num2: El divisor.

Valor de retorno: Devuelve el resto de punto flotante de $num1 / $num2. Si $num2 es 0, la función devuelve NAN.

Cómo usar la función fmod()

Usar la función fmod() en PHP es muy sencillo. A continuación se muestra un ejemplo de cómo usar la función:

php— editable, runs on the server

En este ejemplo, definimos dos números como variables. Luego llamamos a la función fmod() con los dos números como parámetros para obtener el resto de la operación de división. Finalmente, mostramos el resto en pantalla. La salida exacta es 1.

Trabajando con decimales

Dado que fmod() conserva la parte de punto flotante, es la herramienta adecuada cuando los operandos no son números enteros. El operador % los truncaría silenciosamente a enteros primero y daría un resultado engañoso.

<?php
echo fmod(7.5, 2);   // 1.5 — the leftover after fitting 2 into 7.5 three times
echo "\n";
echo 7.5 % 2;        // 1   — operands are cast to int (7 % 2), losing the decimal
?>

Comparación con el operador %

Aunque el operador % también calcula restos, solo funciona con enteros. La función fmod() funciona tanto con enteros como con números de punto flotante, lo que la hace más versátil para cálculos matemáticos que involucran decimales. Si realmente necesitas la división entera, usa intdiv() para el cociente y % para el resto.

Casos límite

  • Operandos negativos: fmod() preserva el signo del dividendo. Por ejemplo, fmod(-5, 2) devuelve -1.
  • División por cero: Si el divisor es 0, fmod() devuelve NAN (Not a Number) en lugar de lanzar un error. Compruébalo con is_nan() antes de usar el resultado.

Un uso práctico habitual es ajustar un valor a un rango determinado; por ejemplo, normalizar un ángulo a 0–360 grados:

<?php
$angle = 725;
echo fmod($angle, 360); // 5
?>

Si necesitas redondear el resultado posteriormente, puedes usar round(), floor() o ceil().

Conclusión

La función fmod() en PHP es una herramienta útil para cualquier desarrollador PHP que trabaje con operaciones de división. Al usar esta función, puedes obtener el resto de una operación de división entre dos números, lo cual puede ser útil en una gran variedad de aplicaciones. Esperamos que esta guía haya sido de ayuda para entender cómo usar la función fmod() en tu código PHP. Es especialmente útil para tareas como cálculos de tiempo, indexación cíclica de arrays y manejo de restos decimales donde el operador % se queda corto.

Práctica

Práctica
¿Cuál es la función de fmod() en PHP?
¿Cuál es la función de fmod() en PHP?
Was this page helpful?