PHP: оценить строку как логическое выражение и вернуть истину или ложь

У меня есть текстовый файл с сотнями логических выражений.
Я хочу прочитать каждый (пока проблем нет) и иметь возможность оценить его рекурсивно, но я не могу придумать, как это сделать. Выражение имеет && и == и сравнение между строками и числами. Я не хочу использовать 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

0

Решение

Попробуй это :

if( (($a == 'alpha' && $b == 'beta') || ($b == 'omega')) || ($g >= 2 && $f != 'gamma'))
{
// returns true
}
else
{
// returns false
}
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]