2012-09-08 3 views
0

함수의 부울 true/false 값을 변수에 저장하는 방법이 있습니까?boolean 반환 값을 변수에 저장 하시겠습니까?

function check() { 
    if(1 = 1) { 
     return false; 
    } 
} 
$status = check(); 
if($status === false) { 
    echo "sign in please"; 
} 

현재로 $status은 null로 나타납니다. 많은 함수에 많은 인수가 있기 때문에 if(check() === false) {}을 사용하지 않아도됩니다. 그리고 함수 내에 $status을 설정하면 여러 변수에 사용할 수있는 범용 함수의 목적을 무효화 할 수 있습니다.

어떻게 처리하나요?

편집 : 죄송합니다. 내 코드의 다른 항목이 null 일 수 있습니다. 위의 코드를 테스트하려고 시도했지만 실패했을 때 그 질문은 가치있는 질문이라고 생각했습니다. P

답변

2

단일 등호는 비교가 아닌 할당입니다. 삼중 등호 (두 개의 값이 완전히 같으면 비교)로 수정할 수 있습니다.

function check() { 
    if(1 === 1) { // Here 
     return false; 
    } 
} 
$status = check(); 
if($status === false) { 
    echo "sign in please"; 
} 
+0

내 게시물을 삭제해야합니다. –

+1

'check()'를 더 잘 구현하려면 이것을 수정해야합니다. 그대로,'1 === 1' 일 때만 값을 리턴하고, 그렇지 않으면'null'을 리턴합니다. 나는 단순히'return true;를'if'를위한 닫는'}'뒤에 추가하는 것이 좋을 것, 아니면 더 좋지만'return (1 === 1);'을 함수 본문으로 추가하는 것이 좋습니다. –

+0

그건 내 잘못이야, 내가 정말 빨리 예제를 만들려고 노력했다. –

관련 문제