Я сохранил некоторые правила / логику в столбце в базе данных. С этим повторным правилом я хочу сделать это условием. Так как извлеченное правило возвращается как строковое значение, мое условие всегда дает мне 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?
Вы можете использовать PHP eval()
выполнить выражение:
$www = $rule->logic; // $rule ->logic = (20 > 3) and (20 < 5)
if(eval("return $www;")){
echo 'commision granted';
}else{
echo 'commision noooo';
}
Других решений пока нет …