Как подавить ошибку «Деление на ноль» и установить для результата значение null для всего приложения?

Как подавить ошибку «Деление на ноль» и установить для результата значение null для всего приложения ? Говоря «для всего приложения», я имею в виду, что это не для одного выражения. Вместо этого, всякий раз, когда возникает ошибка «Деление на ноль», результат устанавливается равным нулю, и никакая ошибка не будет выбрана.

Это должно сделать трюк.

 $a = @(1/0); if(false === $a) { $a = null; } var_dump($a); 

выходы

 NULL 

См. Здесь справки об ошибках .

РЕДАКТИРОВАТЬ

 function division($a, $b) { $c = @(a/b); if($b === 0) { $c = null; } return $c; } 

В любом месте замените 1/0 на division(1,0) функций division(1,0) .

EDIT – без третьей переменной

 function division($a, $b) { if($b === 0) return null; return $a/$b; } 

Просто как .. хорошо abc * 123-pi

 $number = 23; $div = 0; //If it's not 0 then divide if($div != 0) $result = $number/$div;//is set to number divided by x } //if it is zero than set it to null else{ $result = null;//is set to null } 

Как функция

 function mydivide($divisior, $div){ if($div != 0) $result = $divisor/$div;//is set to number divided by x } //if it is zero than set it to null else{ $result = null;//is set to null } return $result; } 

Используйте его так

 $number = mydivide(20,5)//equals four 

Я не могу придумать способ установить его всякий раз, когда есть разделение, но я бы использовал функцию и переименовал ее в нечто вроде «d», так что это коротко!

Это ужасное решение, но, к счастью, вы не будете использовать его, потому что переменной присваивается значение false вместо null .

 function ignore_divide_by_zero($errno, $errstring) { return ($errstring == 'Division by zero'); } set_error_handler('ignore_divide_by_zero', E_WARNING); 

В вашем случае я бы создал функцию, которая выполняет ваше разделение для вас.

Как насчет использования тернарного оператора, например:

 $a = $c ? $b/$c : null;