PHP 致命错误:按 % 工作时未捕获 DivisionByZeroError?

min*_*vid 0 php math division

我正在 PHP 中测试以下简单代码:

`<?php

echo 5 % 0.75;
Run Code Online (Sandbox Code Playgroud)

?>`

我看到误差除以零,而 0.75 不为零!?到底发生了什么?

小智 6

运算符 % 用于 int 类型,0.75 为 float 类型。所以 PHP 首先将其更改为零:

https://www.php.net/manual/en/language.operators.arithmetic.php

如果您想使用浮点类型,您需要执行以下操作:

fmod(5,0.75);

https://www.php.net/manual/en/function.fmod.php