Mammouth du PHP |
19672 Messages
17 févr. 2006, 20:54
Ça pourrait se faire avec un
floor()
<?php
$i = 12;
if($i % 3 != 0)
{
$max = floor($i / 3) + 1;
$diff = ($max * 3) - $i;
echo("<p>". $diff ." doit être ajouté à ". $i ." pour obtenir un multiple de 3</p>");
}
else
{
echo("<p>". $i ." est multiple de 3</p>");
}
?>
Affichera :
12 est multiple de 3
Mais pour faire plus générique avec éventuellement la possibilité de calculer pour un multiple de n'importe quelle valeur, tu pourrais faire ceci:
<?php
$i = 11;
$m = 5;
if($i % $m != 0)
{
$max = floor($i / $m) + 1;
$diff = ($max * $m) - $i;
echo("<p>". $diff ." doit être ajouté à ". $i ." pour obtenir un multiple de ". $m ."</p>");
}
else
{
echo("<p>". $i ." est multiple de ". $m ."</p>");
}
?>
Affichera :
4 doit être ajouté à 11 pour obtenir un multiple de 5
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 