PHP DivisionByZeroError


简介

DivisionByZeroError 类是ArithmeticError类的子类。当除法运算涉及零作为分母的值时,就会发生此类错误。当模运算符 (%) 具有 0 作为第二个运算符,并且 intdiv() 函数的第二个参数为 0 时,也会发生这种情况。

DivisionByZeroError 示例

在第一个示例中,我们尝试使用 %运算符对 10 和 0 进行模除法运算,以引发 DivisionByZeroError。

示例

 实时演示

<?php
try {
   $a = 10;
   $b = 0;
   $result = $a%$b;
   echo $result;
}
catch (DivisionByZeroError $e) {
   echo $e->getMessage();
}
?>

输出

这将产生以下结果 -

Modulo by zero

如果对 intdiv()函数的调用以 0 作为第二个参数,也会引发 DivisionByZeroError,如下所示

示例

 实时演示

<?php
try {
   $a = 10;
   $b = 0;
   $result = intdiv($a,$b);
   echo $result;
}
catch (DivisionByZeroError $e) {
   echo $e->getMessage();
}
?>

输出

这将产生以下结果 -

Division by zero

除法运算符 (/) 具有 0 作为分母,但是未能引发错误,而是引发警告,因为除法结果为 PHP 常量 INF

示例

 实时演示

<?php
try {
   $a = 10;
   $b = 0;
   $result = $a/$b;
   echo $result;
}
catch (DivisionByZeroError $e) {
   echo $e->getMessage();
}
?>

输出

这将产生以下结果 -

PHP Warning: Division by zero in C:\xampp\php\test.php on line 5
INF

更新时间:2020 年 9 月 21 日

2K+ 次浏览

开启你的 职业

完成课程即可获得认证

立即开始
广告