I hate floating point artithmetic and I really hate fmod() in PHP. It’s useless.
fmod — Returns the floating point remainder (modulo) of the division of the arguments
If you calculate 36 modulo 7.2? What do you get? Zero, yes. 7.2*5=36. No remainder!
What if you use fmod in PHP?
$ php -r 'echo fmod(36,7.2);'
7.2
WTF? Excuse me? Is that the result from IEEE 754 hell, a parallel universe, or what?
Now I’m betting on the function below. I hope it won’t let me down.
function modulo($n,$b) {
return $n-$b*floor($n/$b);
}