我使用模运算符,如下所示,但是当我运行它报告Division by zero
错误与分配给$new
。我该如何解决这个问题?
$per = 0.2;
$a = 20;
$new = $a % $per;
在您的示例中,$per
是一个浮点数(0.2)。根据PHP手册,模运算符只接受两个整数操作数:
模的操作数在处理前被转换为整数(通过去掉小数点部分)。浮点模请参见
fmod()
由于运算符只接受整数操作数,因此值为0.2的$per
被转换为0,从而产生错误。根据手册中的建议,您可以使用fmod
作为替代方案:
$new = fmod($a, $per);