intdiv significa división entera. Esta función devuelve el cociente entero de la división del dividendo y el divisor dados. Esta función elimina internamente el resto del dividendo para hacerlo divisible por igual entre el divisor y devuelve el cociente después de la división.
Sintaxis:
int intdiv($dividend, $divisor)
Parámetros : La función toma dos parámetros de la siguiente manera:
- $dividendo: este parámetro entero con signo se refiere al número que se dividirá.
- $divisor: este parámetro de entero con signo se refiere al número que se usará como divisor.
Tipo de devolución : esta función devuelve el cociente calculado.
Ejemplos:
Input : $dividend = 5, $divisor = 2 Output : 2 Input : $dividend = -11, $divisor = 2 Output : -5
Excepción/Error:: la función genera una excepción en los siguientes casos:
- Si pasamos el divisor como 0, entonces la función lanza la excepción DivisionByZeroError.
- Si pasamos PHP_INT_MIN como dividendo y -1 como divisor, se lanza una excepción ArithmeticError.
El siguiente programa ilustra el funcionamiento de intdiv en PHP:
<?php // PHP code to illustrate the working // of intdiv() Functions $dividend = 19; $divisor = 3; echo intdiv( $dividend , $divisor ); ?> |
Producción:
6
Después de ver hasta aquí muchos pueden pensar que esta función es equivalente a
floor($dividend/$divisor)
pero el ejemplo elaborará la diferencia.
<?php // PHP code to differentiate between // intdiv() and floor() $dividend = -19; $divisor = 3; echo intdiv($dividend, $divisor) ."\n". floor($dividend/ $divisor); ?>
Producción:
-6 -7
Puntos importantes a tener en cuenta :
- La función intdiv() devuelve el cociente de la división de enteros.
- La función puede generar excepciones, por lo que el desarrollador debe abordar los casos extremos.
- La función no es equivalente a la función de piso aplicada a la división flotante o ‘/’.
Referencia :
http://php.net/manual/en/function.intdiv.php