Giới thiệu
Lớp DivisionByZeroError là subclass của ArithmeticError. Lỗi xảy ra khi phép chia có mẫu số 0. Cũng xảy ra khi toán tử modulo (%) có toán hạng thứ 2 là 0, và hàm intdiv() có tham số thứ 2 là 0.
Ví dụ DivisionByZeroError
Ví dụ 1: modulo 10 và 0 bằng toán tử % gây DivisionByZeroError.
Ví dụ
<?php try { $a = 10; $b = 0; $result = $a % $b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>Kết quả
Modulo by zero
Gọi intdiv() với tham số 2 là 0 cũng gây DivisionByZeroError:
Ví dụ
<?php try { $a = 10; $b = 0; $result = intdiv($a, $b); echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>Kết quả
Division by zero
Toán tử chia (/) với mẫu số 0 không ném lỗi, chỉ cảnh báo (warning) vì kết quả là hằng INF của PHP:
Ví dụ
<?php try { $a = 10; $b = 0; $result = $a / $b; echo $result; } catch (DivisionByZeroError $e) { echo $e->getMessage(); } ?>Kết quả
PHP Warning: Division by zero in C:\xampp\php\test.php on line 5 INF