Как обойти проблему деления на 0 при выполнении произвольной арифметической функции?
======================================================================================

 Можете подсказать, если ли математическая библиотека выполнения произвольной арифметической функции с учётом деления на 0. Например, есть у меня строка, которая путём некоторого преобразования превращается в арифметическое выражение  
`"1 + 2 / 0"`  

Выполнение с помощью функции eval() данного выражения даст ошибку "Division by zero". Но мне нужно, чтобы такие участки "2 / 0" определялись и давали значение 0.  

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

Почему это так происходит: В системе руками создаются различные правила вычисления некоторых параметров, например, "1 - $a / $b", где переменные $a и $b подставляются из текущих данных, вносимых извне. Причём эти значения могут быть любыми, в том числе и нулём. И 0 - это нормальное валидное значение  

Более подробный пример:  
`($a + $b / $c) / $d + $e  $f`  

Значения в переменные подставляются любые - от 0 до бесконечности (почти). В этом случае, если значения $c и/или $d равны 0, вся функция выдаст NAN (php 7.1), а мне надо чтобы оно заменяла проблемные участки кода и выдало результат выражения  
`0 + $e  $f`  

Есть ли библиотеки, которые могут обойти корректно эту ошибку? Пробовал следующие библиотеки:  
* rodriados/mathr
* mossadal/math-parser
* fintara/calculator-php

  

Все они не подходят 

 А как насчет перехвата исключения и в блоке catch определять тип "Division by zero" и возвращать 0. 

>  с помощью функции eval() 

  

Говнокод. Забудьте про эту функцию.  
  

> например, "1 - $a / $b",

  
`if ($b != 0) ...`