PHP 7.2 проблема создания_функции - PullRequest
0 голосов
/ 29 апреля 2020

Итак, вот что я делал раньше. Я перепробовал много способов это преобразовать. В основном у меня есть переменная $ mathString, и я хочу, чтобы она взяла эту строку и вычислила строку. Еще раз спасибо за помощь.

$mathString = "(((62.00*(((30.00/2)*(30.00/2))*ACOS(((30.00/2)-((((415.2/+1.08)/100)*14.46)+6.00))/(30.00/2))-((30.00/2)-((((415.2/+1.08)/100)*14.46)+6.00))*(SQRT((2*(30.00/2)*((((415.2/+1.08)/100)*14.46)+6.00))-(((((415.2/+1.08)/100)*14.46)+6.00)*((((415.2/+1.08)/100)*14.46)+6.00))))))*7.48)/1728)(((62.00*(((30.00/2)*(30.00/2))*ACOS(((30.00/2)-((((415.2/+1.08)/100)*14.46)+6.00))/(30.00/2))-((30.00/2)-((((415.2/+1.08)/100)*14.46)+6.00))*(SQRT((2*(30.00/2)*((((415.2/+1.08)/100)*14.46)+6.00))-(((((415.2/+1.08)/100)*14.46)+6.00)*((((415.2/+1.08)/100)*14.46)+6.00))))))*7.48)/1728)";

$compute = create_function("", "return (" . $mathString . ");" );

return 0 + $callback();

Я пытался

$callback = function() use ($mathString)
        {
            //return "(" . $mathString . ");";
            //echo $mathString."<br /><br />";
            eval('return ('.$mathString.');');
        };

return 0 + $callback();

Но я получаю сообщение: Имя функции должно быть строкой eval () d код

Есть ли способ сделать это без eval?

1 Ответ

0 голосов
/ 29 апреля 2020

Ваше выражение недопустимо:

*7.48)/1728)(((62.00
            ^--- missed math operator
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...