PHP DivisionByZeroError

phpserver side programmingprogramming更新于 2025/7/18 12:52:17

简介

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

相关文章