PHP DivisionByZeroError

介绍

DivisionByZeroError 类是ArithmeticError类的子类。当除法运算的分母值为零时,会发生这种类型的错误。当取模运算符()的第二个运算符为0且第二个参数为0的 intdiv()函数时,也会发生这种情况。

DivisionByZeroError示例

在第一个示例中,我们尝试使用 %运算符执行10和0的模除,以得出DivisionByZeroError。

示例

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

输出结果

这将产生以下结果-

Modulo by zero

如果以0作为第二个参数调用 intdiv()函数也会引发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