5

除算の余りがないため、15 mod 5=0と理解しています。

しかし、なぜ15.5 mod 5 == 0でもあるのでしょうか?残り0.5はありませんか?

$time = "15.5";
$interval = 5.0;
if($time % $interval == 0)
    echo "it's time!";
else
    echo "not time";

//Outputs: it's time!
4

1 に答える 1

17

PHPドキュメントから:

モジュラスのオペランドは、処理前に(小数部分を取り除くことによって)整数に変換されます。

fmod小数の余りを保持する場合に使用します。(リンクをありがとう、Oli Charlesworthは、そのような関数が存在することに気づいていませんでした。)

于 2012-07-16T01:24:29.473 に答える