2012-12-04 70 views
0

我有一個條件存儲在變量$condition = "1==1"中,我想在條件語句中使用該變量的值。在條件中使用變量值

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

這可能嗎?我試過使用var_export,但顯然這是行不通的。

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

任何幫助將不勝感激!

+0

爲什麼?因爲「$條件應該被解析爲1 == 1」聽起來很可疑:X它來自哪裏?它爲什麼看,它看起來如何?等等 – KingCrunch

+0

我試圖在一個函數中運行它,所以條件傳遞給一個變量。 'conditional_func($ condition,$ result)' – PapaSmurf

+0

爲什麼不向函數傳遞'true'或'false'(意思是'conditional_func(1 == 1,$ result)')? – KingCrunch

回答

0

在評論一些討論中,我們發現,該條件本身是沒有問題的,但它是如何傳遞給函數

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

我們意識到,它不需要通過後第一個參數作爲字符串,但可以直接使用布爾值,因此我們根本不需要評估字符串。

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

一點題外話:@BryanMoyles答案是正確的有關問題,但請記住,這eval()是邪惡的(你不能想到的任何缺陷,可能發生的),並在另一方面只有一些有非常不那麼深奧的用例,在那裏你不能使用另一種方法。