Автор Тема: parse_str() & арифмитические действия  (Прочитано 2830 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Eraser

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
Есть необходимость в скрипте из формируемой текстовой строки типа:
$str=\'var=1+2\';
получить переменную var со значением 3.
Если дать parse_str($str) получаю строку типа
1 2
Куда делся плюс и как получить результат.
(минус не пропадает, но и не вычетается).
С уважением, Eraser!

Оффлайн lodevar

  • Сеньор-Помидор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 757
  • +0/-0
  • 2
    • Просмотр профиля
    • http://lodevar.hut.ru
parse_str() & арифмитические действия
« Ответ #1 : 17 Июля 2001, 10:13:32 »
$str="var";
$$str=3;

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

По-моему так.
С наилучшими пожеланиями. LODEVAR

Оффлайн Eraser

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() & арифмитические действия
« Ответ #2 : 17 Июля 2001, 10:29:49 »
Наверно, я не совсем корректно описал ситуацию.
Есть конфигурационный файл в котором содержится строка:
a=b+c+d
Переменные b,c,d на лету подменяются значениями из базы. Формула может быть и с умножением и с делением и со скобками. Короче имея вид
a=формула
надо получить переменную a со значением рассчитанным по формуле.
Вроде так понятнее.
Кстати, получение переменной дело второе главное - значение рассчитанное по формуле. Куда его запихать постараюсь сам разобраться.
С уважением, Eraser!

Оффлайн Antoxa

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
parse_str() & арифмитические действия
« Ответ #3 : 24 Июля 2001, 10:16:09 »
можно так

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

?>

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

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28