2

私の条件は、コードによって次のような文字列に生成されます。

$mycondition = "(strpos(strtolower($foo1), strtolower($bar)) !== false) AND (strpos(strtolower($foo1),  strtolower($bar2)) !== false) // AND ((strpos(strtolower($foo2),  strtolower($bar1)) !== false)) AND..."; ad infinitum

私の if ステートメントは次のようになります。

if ($mycondition) then...

次のように eval() で実行できます。

if (eval("return $mycondition;")) then...

しかし、私は eval() が推奨される方法ではないことを理解しています。フォーラムを検索すると、eval() の使用に反対する多くの声が寄せられていますが、実際には多くの代替案はありません。

代替手段は何ですか?生成された文字列を if 条件に配置するにはどうすればよいですか?

4

1 に答える 1