50 votos

la comprobación de si un número es divisible por 6 de PHP

Quiero comprobar si un número es divisible por 6, y si no me necesita aumentar hasta que se convierte divisible.

¿cómo puedo hacer eso ?

Gracias

122voto

ZoFreX Puntos 3946

Simple:

if($number %6 != 0) {
  $number += 6 - ($number % 6);
}

El módulo de operador da el resto de la división, por lo que $número % 6 es la cantidad que sobra cuando se divide por 6. Esto va a ser más rápido que hacer un bucle continuamente y volver a facturar.

Si la disminución es aceptable, entonces este es aún más rápido:

$number -= $number % 6;

6voto

Wallacoloo Puntos 2957
$num += (6-$num%6)%6;

no hay necesidad de un bucle while! Modulo (%) devuelve el resto de una división. Es decir 20%6 = 2. 6-2 = 4. 20+4 = 24. 24 es divisible por 6.

4voto

zneak Puntos 45458

Así que usted quiere que el próximo múltiplo de 6, es eso?

Puede dividir su número 6, ceil , y se multiplica de nuevo:

$answer = ceil($foo / 6) * 6;

2voto

Mitch Wheat Puntos 169614

Uso el Mod % (módulo) operador de

if ($x % 6 == 0) return 1;


function nearest_multiple_of_6($x) {
    if ($x % 6 == 0) return $x;    

    return (($x / 6) + 1) * 6;
}

1voto

James Simpson Puntos 3615

Simplemente ejecutar un bucle while que seguirá bucle (y aumentar el número) hasta que el número es divisible por 6.

while ($number % 6 != 0) {
    $number++;
}

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X