変数に条件が格納されており$condition = "1==1"
、条件ステートメントで変数の値を使用したいと思います。
if($condition) { //$condition should be parsed as 1==1
return true;
}
これは可能ですか?使ってみましvar_export
たが、うまくいかないようです。
if(var_export($condition)) {
return true;
}
どんな助けでも大歓迎です!
変数に条件が格納されており$condition = "1==1"
、条件ステートメントで変数の値を使用したいと思います。
if($condition) { //$condition should be parsed as 1==1
return true;
}
これは可能ですか?使ってみましvar_export
たが、うまくいかないようです。
if(var_export($condition)) {
return true;
}
どんな助けでも大歓迎です!
上記のコメントで議論した結果、条件自体は問題ではなく、関数にどのように渡されるかがわかりました。
conditional_func($var . " == 'test'", $result);
最初のパラメーターを文字列として渡す必要はありませんが、ブール値を直接使用できるため、文字列を評価する必要がまったくないことに気付きました。
conditional_func($var == 'test', $result);
補足として:@BryanMoylesの答えは質問に関して正しいですが、それeval()
は悪であり(発生する可能性のある落とし穴は考えられません)、一方で、非常に難解なユースケースはほとんどありません。別のアプローチを使用することはできません。