2013-10-20 123 views
1

有沒有更好的方式來寫這個(最好沒有eval!)?有什麼辦法可以調用PHP運算符嗎?

function something($value, $operator) { 
    switch ($operator) { 
    case '=': 
     return $this->arg == $value; 
    case '<': 
     return $this->arg < $value; 
    case '>': 
     return $this->arg > $value; 
// etc. 
    } 
} 

它很基礎$operator($this->arg, $value)除非你不能在PHP中做到這一點。

+1

你是如何在邏輯世界的這樣一個奇怪的部分結束的? :) –

+0

我懇求第五。 :P – chx

+0

我不這麼認爲 - 說實話,我保持原樣。如果時間更長,我可能會考慮使用'eval',因爲這些值是固定的,並且參數可以很好地過濾掉,但就像只有三個運算符一樣好。 – halfer

回答

0

只是爲了保持完整性 - 不要留下未回答的問題:PHP無法達到5.6,無法做到這一點。

相關問題