除以零 - php模数与数字小于1

  发布于 2022-12-26 23:13

Division by zero当我想使用模数运算符并且第二个数小于1(但当然大于0)时,有人可以解释为什么我会收到错误

当我尝试

$a = 5
$b = 3
var_dump($a % $b);die; // result is as expected int(2)

但是当我试着这个

$a = 5
$b = 0.5
var_dump($a % $b);die; // result is 

Warning: Division by zero
bool(false)

PHP 5.4.4,debian 7

谢谢

1 个回答
  • 模运算符丢弃其操作数的小数部分.从文档:

    在处理之前,模数的操作数被转换为整数(通过去除小数部分).

    这可以通过以下方式观察到:

    $a = 5;
    $b = 3.6;
    var_dump($a % $b);die; // int(2)
    

    要避免此行为,请改用该fmod方法:

    $a = 5;
    $b = 0.5;
    var_dump(fmod($a, $b));die; // float(0)
    

    2022-12-26 23:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有