這可能嗎?這個想法是有以下幾點:如何從字符串中創建條件語句
if ($some_statement) { ... }
其中$ some_statement變量是一個字符串,它看起來像這樣:
$some_statement = ' $day == "Monday" && $weather == "sunny" ';
我曾嘗試用大括號和eval函數一點點,但不能得到任何工作。謝謝你們,你們搖滾!
這可能嗎?這個想法是有以下幾點:如何從字符串中創建條件語句
if ($some_statement) { ... }
其中$ some_statement變量是一個字符串,它看起來像這樣:
$some_statement = ' $day == "Monday" && $weather == "sunny" ';
我曾嘗試用大括號和eval函數一點點,但不能得到任何工作。謝謝你們,你們搖滾!
您可以使用eval
,但請記住,字符串中的語句必須是完整的PHP語句。
$condition = 'return $day == "Monday" || $day == "Sunday";';
if (eval($condition)) { ... }
謝謝,我認爲沒有「迴歸」和「;」這是行不通的。在一個字符串的末尾! – user1470443
If (eval($some_statement)) {
應該工作。
但是不要這麼做除非你知道你在做什麼,根據你的問題來判斷你不這樣做。
評估字符串中的代碼非常危險,並且很容易造成嚴重的安全漏洞。
非常感謝你,是的,你是對的 - 我不知道我在做什麼:) – user1470443
字符串從哪裏來,是用戶輸入?它是可信的用戶輸入嗎? –
很多人可能會覺得寫'if($ day ==「Monday」&& $ weather ==「sunny」)' – Esailija
是的,用戶輸入不應該被評估。除非採取格柵護理。 –