Ошибка ArithmeticError

(PHP 7, PHP 8)

Введение

Ошибка ArithmeticError возникает при некорректных математических операциях или недопустимом результате. К таким ошибкам относятся попытки выполнить сдвиг битов на отрицательную величину или вызов функции intdiv(), при котором частное выходит за пределы возможных границ типа int.

Обзор класса

class ArithmeticError extends Error {
/* Наследуемые свойства */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Наследуемые методы */
public function Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public function Error::getMessage(): string
final public function Error::getPrevious(): ?Throwable
final public function Error::getCode(): int
final public function Error::getFile(): string
final public function Error::getLine(): int
final public function Error::getTrace(): array
final public function Error::getTraceAsString(): string
public function Error::__toString(): string
private function Error::__clone(): void
}
Добавить

Примечания пользователей 1 note

up
0
nima dot shirinzadeh at gmail dot com
5 years ago
the first example shifted by the positive number and the result is 4, but the second example shifted by the negative number and the result is ArithmeticError(this example is the same for left shift)
<?php

 $shif =1;
 $number = 8;
 $result =  $number >> $shif;
 echo $result; //// 1000 >> 01000 = 4

$shif =-1;
 $number = 8;
 $result =  $number >> $shif;
 ////result is ArithmeticError
?>
To Top