Существует набор несложных формул, которые при подстановке данных вычисляют определенные величины.Пользователь имеет возможность создать формулу и провести по ней расчеты. Нужно это реализовать программно.Для записи формул использую простую запись вида Х1+Х2+Х3. Когда нужно провести расчеты через функцию preg_replace в цикле поочередно заменяю X1, X2.. на реальные цифры (введенные пользователем, сохраняются ранее - это не важно)Затем использую функциюeval ('$ calculation_result ='. $ trans_formula .';')где $ trans_formula - текст формулы с подставленными данными.Этот механизм выглядит как-то примитивно и у меня ощущение, что я пытаюсь заново придумать велосипед. Возможно, существуют какие-то готовые алгоритмы, методики, подходы для реализации этой задачи? Необязательно писать код - хотя бы общий алгоритм. Спасибо.
|