2014-01-13 3 views
0

도서관에서 이것을 발견하고 가치가 있는지 궁금하십니까? 참과 거짓을 참조하는 이유는 무엇입니까?이 PHP 코드에는 가치가 있습니까?

Something went success 경우, true을 경우 반환 :

$return = true; 

if(/* Something went success */) 
{ 
    $return &= true; 
} 
else 
{ 
    $return &= false; 
} 

return $return; 
+0

그리고 무엇이 당신의 질문입니까? – Vucko

+0

왜 참과 거짓으로 참조할까요? –

+0

질문에,이 코드는 어떤 가치가 있습니까? –

답변

4

을 바이너리 앤딩을 사용하십시오.

더 넓은 시나리오에서 이것은 실제로 의미가 있습니다.

의 당신이 될 수 있습니다 여러 단계를 가정 해 봅시다 과정의 일종 형성하는 참 또는 거짓 : step1 또는 step2이 실패한 경우

$return = true; 

$return = step1(); 
$return = step2(); 
return $return; 

과정이 실패했습니다.

step1는 false를 돌려줍니다은 다음 프로세스가 실패했지만 여전히 step2 2 단계()가 true를 돌려 그러나 경우 가, 갑자기 전체 프로세스는 단계 이전에 실패한 경우에도 true를 돌려줍니다 수행 할 때. 당신을 확인 바이너리와 - 보내고 결과에

한 번 실패 $return 예를 들면

true & true = true 
true & false = false 
false & false = false 

로 실패로 유지됩니다

$return = true; 

$return &= step1(); 
$return &= step2(); 
return $return; 

이 시나리오에서 드물지 않다에게 검증의 일련의 데이터에 적용하고 싶은했다 하나 검사기 조기 종료하지 않고 계속하지 못한 경우. 유효성 검사기가 실패한 것을 나타내는 데 유용 할 수 있습니다.

+0

잘 감사드립니다! 나는 설명을 얻었지만 그럴 가치가 없다고 생각한다. 코드가 복잡합니다. 그리고 $ return이 수정 된 곳에서 디버깅을 계속할 것입니다. –

+0

@WaqarAlamgir 위의 코드는 아닙니다. 그러나 이것이 좀 복잡한 시나리오의 단순화 된 버전인지 여부는 확실하지 않았습니다. 그렇지 않다면 아니오. – Samuel

+0

나는 가치가 없다면 왜 코드를 복잡하게 만들었습니까? –

0
$return &= true; 

이 코드는 실제로 뭔가를하고 싶어한다 동일한

$return = $return & true; 

true & true // 1 
false & true // 0 
true & false // 0 
false & false //0 

과 같다 0이 참이면 $returnfalse 인 경우 false을 반환하십시오.

그렇지 않으면 $return이든 상관없이 false이 반환됩니다.

그러나 true/false 대신 0/1을 반환합니다. 당신이 실제로 true/false을 반환하려면

, 당신은 할 필요가 :

if($condition_of_something) 
{ 
    $return = $return && true; 
} 
else 
{ 
    $return = false; 
} 

return $return; 

을 그리고 당신은 코드를 단순화 할 수 있습니다 : 그것은 이해가되지 않습니다 주어진 예에서 잘

return $return && $condition_of_something; 
+1

예, 그렇습니다. 하지만 코드에는 가치가 있습니다 _? (원래의 질문이 분명하지 않기 때문에 이것이 올바른 반면 나는 대답이 의심 스럽습니다.) –

+0

왜이 "$ return & true"처럼 돌아올까요? –

+0

@AlmaDo 제 편집 내용을보고 설명을 해봅시다. – xdazz

관련 문제