У меня есть текстовый файл с сотнями логических выражений.
Я хочу прочитать каждый (пока проблем нет) и иметь возможность оценить его рекурсивно, но я не могу придумать, как это сделать. Выражение имеет && и == и сравнение между строками и числами. Я не хочу использовать eval, так как, по-видимому, это не рекомендуется, и в моем случае это не сработало.
Пример. Допустим, я прочитал эти 2 строки:
s = "a == alpha && b == beta || b == omega", or
s = "g >= 2 && f != gamma"
Я хочу разбить их на
($a == "alpha" && $b == "beta" || b == "omega")
($g >= 2 && f!= "gamma")
использовать их в if, чтобы он возвращал TRUE или FALSE. Моя проблема не в замене переменных, а в том, чтобы заставить их оценивать как логическое выражение
Кто-нибудь может мне помочь?
Заранее спасибо,
Cristina
Попробуй это :
if( (($a == 'alpha' && $b == 'beta') || ($b == 'omega')) || ($g >= 2 && $f != 'gamma'))
{
// returns true
}
else
{
// returns false
}
Других решений пока нет …