2009-11-08 3 views
1

PHP는 다음과 같은 부울 값을 반환 할 수 있습니다.

return $aantal == 0; 

Java 에서처럼

public boolean test(int i) 
{ 
return i==0; 
} 

또는 if contruction을 사용해야합니까? 내가 이것을한다면.

$foutLoos = checkFoutloos($aantal); 

function checkFoutloos($aantal) 
{ 
    return $aantal == 0; 
} 

echo "foutLoos = $foutLoos"; 

에코의

foutLoos = 

참 또는 거짓이 아닙니다.

thanks matthy

답변

8

부울을 반환하지만 출력 할 때 부울은 문자열로 변환되지 않습니다. 대신이 시도 :

$foutLoos = checkFoutloos($aantal); 

function checkFoutloos($aantal) 
{ 
    return $aantal == 0; 
} 

echo "foutLoos = " . ($foutLoos ? "true" : "false"); 
+2

그냥 때마다 (모든 비교 연산자를 사용하여) 비교를하고있어,에 추가하는 결과가 될 것입니다 부울 . 확실하지 않은 경우 캐스팅을 사용하여 부울 값인지 확인하십시오. 'return (bool) ($ aantal == 0); ' – mauris

8

을 사용 해보세요!

function is_zero($n) { 
    return $n == 0; 
} 

echo gettype(is_zero(0)); 

출력 :

boolean 
1

예, 당신이 반환 함수에서 부울 테스트를 반환 할 수 있습니다. 나는 괄호 안에 광산을 넣고 평가받는 것을 알고 있습니다.

function Foo($Bar= 0) { 
    return ($Bar == 0); 
} 

$Return = Foo(2); 
$Type = var_export($Return, true); 

echo "Return Type: ".$Type; // Return Type: boolean(true) 

는 사실, 거의 모든는 return 라인에서 평가 될 수있다. 미친 짓하지 마라. 리팩터링이 더 어려워 질 수 있기 때문이다 (예를 들어, 플러그인이 리턴을 조작하도록 허용하려는 경우).

1

예를 ideed 내가 발견 당신은 당신이 아무것도 난 혼란 한 이유와 진정한 에코의 1 그게 전부를 얻을 거짓 에코 때)

+0

PHP는 느슨하게 입력됩니다. 변수를 적절한 컨텍스트로 변환합니다. 그것은 모두 좋고 나쁘다. – matpie

+0

"적절한"단어가 아닌 것 같습니다. 부울을 문자열로 바꿔서 "1"과 ""중 하나를 선택하겠습니까? –

1

예. 당신은 심지어 삼항 연산자를 통해 할 수 있습니다.

function foo($bar == 0) { 
    return ($bar) ? true : false; 
} 
1
당신은 타입 캐스팅과 함께, 내가 생각이처럼 다만 수

:

return (bool) $aantal; 
관련 문제