Функция PHP Maths Equation - PullRequest
1 голос
/ 26 июня 2009

Что я действительно ищу, так это функция математического уравнения, которая принимает строку, представляющую уравнение, и вычисляет ответ как тип возвращаемого значения.

Например "(((4 * 5) + 6) * 2) / 8"

Выход: 6,5

Так в коде слезы что-то типа

print calc("(((4 * 5) + 6) * 2) / 8");

Уже есть класс или функция, которую построил какой-то ангел, или я должен сделать это сам

Спасибо

Ответы [ 3 ]

2 голосов
/ 26 июня 2009

Если вы в конечном итоге свернули свое собственное, прочитайте Умный дизайн математического парсера или Парсер выражений уравнений с приоритетом . С явными скобками, как в вашем примере, парсер будет намного проще.

2 голосов
/ 26 июня 2009

вы можете использовать eval() для этого, он будет оценивать аргумент как код php:

$result = eval("(((4 * 5) + 6) * 2) / 8"); // 6.5
print $result;
1 голос
/ 26 июня 2009

Как сказал облако, только что починили.

$nums = "(((4 * 5) + 6) * 2) / 8";
eval("\$nums = $nums;");
echo $nums;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...