Условие переменной

MuXaJIbI41981

Новичок
Условие переменной

Всем здравствуйте.
Вот какая задача.
Есть три переменные $a1 $a2 $us
$a1 $a2 - это переменные которые надо сравнить
$us - это знак для сравнения (== < > <= >= !=)
если написать так if ($a1 $us $a2) echo 'true'; else echo 'false';
то само сабой будет ошибка.
Может кто знает как решить эту проблему
Заранее спасибо
 

Фанат

oncle terrible
Команда форума
Изменить логику программы так, чтобы такие извращения не требовались.

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

MuXaJIbI41981

Новичок
Фанат просто есть редактор условий где это всё можно выбирать (какие значения сравниввать и по какому условию)..... потом формируется условие ..... вот мне и надо его пропарсить и узнать результат
 

Фанат

oncle terrible
Команда форума
ну блин ТЕМ БОЛЕЕ не надо передвать из редактора конкретные значочки = !=, а передавай любые коды, которые потом подставляй в свитч.

почему у тебя не используется база данных?

ЗЫ. уфф. слава богу сюда не влез ни один умник с одним из тупых решений, с которыми они очень любят влезать.
потому что сейчас, после выяснения деталей, я бы такого советчика убил бы
 

MuXaJIbI41981

Новичок
Sender так скорее всего и придёться сделать ... просто хотелось найти универсальный способ

-~{}~ 02.03.07 15:32:

Фанат база данных используется.
это вот для чего ..... попробую рассписать
например у нас есть набор сообщений .... которые надо показывать в заисимости от условий
вот примеры условий:
- если пол участника мужской то выводить это сообщение
- если возраст участника больше 18 то показывать это сообщение
- если возраст участника равен 5 годам или больше 10 лет и участник девушка, то показывать это сообшение.

Была разработа след структура с помощью которой например последнее условие выглядит так:
(@2{5}1@||@2{10}3@)&&@1{1}1@

Вот моя задача и стоит пропарсить это выражение и узнать результат
Хотя мне каеться тот кто придумал такую схему .... очень намудрил

-~{}~ 02.03.07 15:50:

Кое что сделать у меня получилось.
Но появилась новая проблема.
Мой парсер выдаёт следующее (на примере посл условия)
$t = '(false||true)&&false';

Если написать if ((false||true)&&false) .... то результат верный
Но проблема в том что у меня получается строка и если написать if ($t) .... то результат неверный

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

-~{}~ 02.03.07 16:58:

Может есть какая нибудь функция наподобие parseInt в JS .... для булевых значений.
Хотя скорее всего придёться написать такую ф-ию самому
 

Фанат

oncle terrible
Команда форума
блин если используется база данных, то почему задача стоит не в составлении запроса?
 

MuXaJIbI41981

Новичок
Фанат спасибо .... поставил на правильный путь .... всё сделал всё работает.
 
Сверху