0

変数に条件が格納されており$condition = "1==1"、条件ステートメントで変数の値を使用したいと思います。

if($condition) { //$condition should be parsed as 1==1
    return true;
}

これは可能ですか?使ってみましvar_exportたが、うまくいかないようです。

if(var_export($condition)) {
    return true;
}

どんな助けでも大歓迎です!

4

1 に答える 1

0

上記のコメントで議論した結果、条件自体は問題ではなく、関数にどのように渡されるかがわかりました。

conditional_func($var . " == 'test'", $result);

最初のパラメーターを文字列として渡す必要はありませんが、ブール値を直接使用できるため、文字列を評価する必要がまったくないことに気付きました。

conditional_func($var == 'test', $result);

補足として:@BryanMoylesの答えは質問に関して正しいですが、それeval()は悪であり(発生する可能性のある落とし穴は考えられません)、一方で、非常に難解なユースケースはほとんどありません。別のアプローチを使用することはできません。

于 2012-12-04T16:03:22.650 に答える