私の条件は、コードによって次のような文字列に生成されます。
$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 条件に配置するにはどうすればよいですか?