Forum Webscript.Ru

Программирование => PHP => Тема начата: Eraser от 17 Июля 2001, 09:51:42

Название: parse_str() & арифмитические действия
Отправлено: Eraser от 17 Июля 2001, 09:51:42
Есть необходимость в скрипте из формируемой текстовой строки типа:
$str=\'var=1+2\';
получить переменную var со значением 3.
Если дать parse_str($str) получаю строку типа
1 2
Куда делся плюс и как получить результат.
(минус не пропадает, но и не вычетается).
Название: parse_str() & арифмитические действия
Отправлено: lodevar от 17 Июля 2001, 10:13:32
$str="var";
$$str=3;

Получим:
теперь в $var значение 3.

По-моему так.
Название: parse_str() & арифмитические действия
Отправлено: Eraser от 17 Июля 2001, 10:29:49
Наверно, я не совсем корректно описал ситуацию.
Есть конфигурационный файл в котором содержится строка:
a=b+c+d
Переменные b,c,d на лету подменяются значениями из базы. Формула может быть и с умножением и с делением и со скобками. Короче имея вид
a=формула
надо получить переменную a со значением рассчитанным по формуле.
Вроде так понятнее.
Кстати, получение переменной дело второе главное - значение рассчитанное по формуле. Куда его запихать постараюсь сам разобраться.
Название: parse_str() & арифмитические действия
Отправлено: Antoxa от 24 Июля 2001, 10:16:09
можно так

eval("\\$var = $formula;");

?>

тогда в $var будет результат вычисления

а parse_str() парсит строку как URL, поэтомы твои "+" и превращаются и пробелы