I have a condition stored in a variable $condition = "1==1"
and I want to use the value of the variable in a conditional statement.
if($condition) { //$condition should be parsed as 1==1
return true;
}
Is this possible? I've tried using var_export
but apparently that doesn't work.
if(var_export($condition)) {
return true;
}
Any help will be greatly appreciated!
After some discussion in the comments above we found out, that the condition itself is not the problem, but how it is passed to the function
conditional_func($var . " == 'test'", $result);
We realized, that it is not required to pass the first parameter as a string, but can use a boolean directly, thus we don't need to evaluate the string at all.
conditional_func($var == 'test', $result);
As a sidenote: @BryanMoyles answer is right regarding the question, but remember, that eval()
is evil (you can't think of any pitfall, that may occur) and on the other hand there are only some very less quite esoteric usecases, where you can't use another approach.