Этот пакет PHP предоставляет вспомогательную функцию math_eval , которая позволяет безопасно оценивать математические выражения без использования потенциально опасной функции eval .
Пакет math_eval можно легко установить с помощью Composer. Просто запустите следующую команду из корня вашего проекта.
composer require "langleyfoxall/ math_eval "
Если вы никогда раньше не использовали диспетчер зависимостей Composer, посетите веб-сайт Composer для получения дополнительной информации о том, как начать работу.
Чтобы вычислить базовое математическое выражение, просто передайте его строковое представление функции math_eval .
Вот несколько основных примеров использования:
$ two = math_eval ( ' 1 + 1 ' );
$ three = math_eval ( ' 5 - 2 ' );
$ ten = math_eval ( ' 2 * 5 ' );
$ four = math_eval ( ' 8 / 2 ' );Также возможно передавать переменные выражения. См. примеры ниже.
$ ten = math_eval ( ' a + b ' , [ ' a ' => 7 , ' b ' => 3 ]);
$ fifteen = math_eval ( ' x * y ' , [ ' x ' => 3 , ' y ' => 5 ]); Этот пакет использует пакет mossadal/math-parser .