PHP Math Lexer? Привет всему хабрасообществу.
Подскажите пожалуйста, есть ли какой-то универсальный математический парсер на PHP?
Суть задачи:
Есть простая строка, в которой присутвуют числа, функции, операнды. К примеру:0.85 + 1.15(2^3 - 200) * 2abs(-100) + sin(0.75) - 22*3*(0.55 + 0.15) / 100
И необходимо вернуть результат исполнения этой строки как математического выражения.
Все эти строки будут сохраняться в БД, в результате и возникла мысль найти (написать) математический парсер.
Есть также некоторые пожелания:
1. Внедрение переменных. $mathParser = new MathParser(':a * :b');
$mathParser
->setVariable('a', 0.25)
->setVariable('b', 0.35);
$result = $mathParser->getResult();
2. Внедрение собственных функций.$mathParser = new MathParser('my_func(:a)');
$mathParser
->setVariable('a', $myVariable)
->addFunction('my_func', function($a) { return abs($a); } );
$result = $mathParser->getResult();
3. Хороший контроль синтаксических ошибок (Для проверки перед исполнением/сохранением).UPDATE:
Поркомендовали посмотреть:
1. github.com/SymDevStudio/MathExecutor

21 Авг 2019 в 06:14
192 +1
0
Ответы
1
github.com/mossadal/math-parser-phpgithub.com/mossadal/math-parser-node

Попробуйте изучить эти библиотеки, возможно они содержат необходимый функционал для вашей задачи.

20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир