簡體   English   中英

使用字符串變量作為php中if語句的條件,而不使用eval()

[英]Using a string variable as the condition of an if statement in php without using eval()

我的條件是通過代碼生成的字符串生成的,如下所示:

$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條件中?

一種解決方法是,在生成條件的地方,只有您可以進行比較,並在最后生成布爾值,您可以稍后在代碼中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM