2013-10-20 2 views
1

이것을 작성할 수있는 더 좋은 방법이 있습니까 (가급적이면 평가가 필요하지 않음).PHP 연산자를 변수로 호출 할 수있는 방법이 있습니까?

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

그것은 PHP에서 할 수 없어 basicaly $operator($this->arg, $value) 당신을 제외하고 있어요.

+1

어떻게 로직 월드의 이상한 부분에서 끝났습니까? :) –

+0

나는 다섯 번째를 호소한다. : P – chx

+0

나는 그렇게 생각하지 않는다. 나는 정직한 그대로 그대로 두었다. 훨씬 더 길다면, 값이 고정되어 있고 매개 변수가 잘 필터링 되었기 때문에 'eval'을 사용하는 것을 고려해 볼 수 있습니다. 그러나 세 명의 연산자만으로도 괜찮습니다. – halfer

답변

0

완벽을 기하기 위해 - 질문에 답을 남기지 않으려면 PHP를 최대 5.6까지 수행 할 방법이 없습니다.

관련 문제