Преобразовать строку, которая извлекается из базы данных в условии If

Я сохранил некоторые правила / логику в столбце в базе данных. С этим повторным правилом я хочу сделать это условием. Так как извлеченное правило возвращается как строковое значение, мое условие всегда дает мне TRUE.

скажем

$www = $rule->logic; // $rule ->logic = (20 >  3) and (20 <  5)
if($www ){
$this->logger->debug('commision granted');
}else{
$this->logger->debug('commision noooo');
}

Однако, если я просто использую if ((20 > 3) and (20 < 5)) Тогда я могу получить правильный ответ.
Я понятия не имею, как конвертировать $ www?

1

Решение

Вы можете использовать PHP eval() выполнить выражение:

$www = $rule->logic; // $rule ->logic = (20 >  3) and (20 <  5)
if(eval("return $www;")){
echo 'commision granted';
}else{
echo 'commision noooo';
}
3

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector