2014-01-22 2 views
1

이 질문은 순수한 게으름과 적은 코드로 더 많은 것을하고자하는 욕구에서 비롯된 것입니다.숫자 제약 조건을 확인하는 가장 느린 방법

변수가 $x이고 0보다 크고 12보다 작아야합니다. 가장 빠른 (작성된 코드 양) 검사 방법은 무엇입니까? 이보다 빠른 방법이 있습니까?

if($x < 0 || $x > 12) { 
    die("invalid x value"); 
} 

그것은 좋은 것 (그리고 일부 언어는 생각)이 일을 : 나는 밖으로 실종 일부 PHP 마법이 있는지 매우 궁금

if(0 > $x > 12) { 
    die("invalid x value"); 
} 

.

+0

http://codegolf.stackexchange.com/ –

+0

베타 버전으로도 이해가되지 않습니까? – FaddishWorm

+0

귀하의 질문은 제 의견으로는 CG에 더 적합합니다. –

답변

1

filter_var를 네이티브 PHP 함수로 사용할 수 있습니다 : http://de2.php.net/manual/en/function.filter-var.php 그러나 빠르지도 짧지도 않은 최소 및 최대 범위의 배열을 전달해야하므로 더 나은 방법은 없습니다.

아마도이 사용자 정의 함수는 적합할까요? 예, 한 번만 코드를 작성해야합니다.

function between($value, $from, $to) { 
    if ($value < $from || $value > $to) { 
     return false; 
    } 
    return true; 
} 

값이 최소 경계보다 작거나 최대 경계보다 큰 경우 함수는 false를 반환합니다. 그렇지 않으면 true를 반환합니다.

$x = 14; 
if(!between($x, 0, 12)) { 
    die("invalid x value"); 
} 

출력 :

당신이 값이 사이가 아닌 경우, 당신에게 스크립트를 중지해야한다면, 당신은 거짓 응답 if(!between...

그래서

만이 방법으로 호출을 요청해야합니다

무효 x 값

, 예를 들어 당신 $ X가 5이고 당신이 사이에 있는지 확인하려면,하고 있는지 경우 -에 스크립트를 계속 진행하면 true 응답을 요청합니다.

if(between($x, 0, 12) 
+1

당신의'between' 함수는'return! ($ value <$ from $ value> $ to); 또는'return $ value> = $ from && $ value <= $ to;'. – kba

+0

@kba 옙, 네 말이 맞아. :) –

관련 문제