2012-04-15 2 views
1

PHP 함수와 관련된 빠른 질문인데, 여러분 중 일부는 어리석게 들릴 수도 있지만, 나쁜 습관에 빠져들고 싶지는 않습니다. 다음과 같은 일에 어떤 문제가 있습니까?함수 return code block query

function do_something($val) 
{ 
    $a = 1; 
    if ($val==$a) 
    { 
    return true; 
    } 
    return false; 
} 

대신;

function do_something($val) 
{ 
    $a = 1; 
    if ($val==$a) 
    { 
    return true; 
    } 
    else 
    { 
    return false; 
    } 
} 

죄송합니다. 제 생각에는 훌륭한 사람이 아닙니다. 기본적으로이 함수는 데이터베이스에 데이터를 삽입하거나 이메일 등을 보낼 수 있습니다.이 함수를 사용하면 true 또는 false를 반환하여 성공했는지 여부 만 필요합니다. 나는 if-else 블록 대신에 더 짧은 방법을 사용할 수 있는지 알기를 원했다.

나는 그것이 더 명확하게되기를 바랍니다.

+0

을하지만, 물론 이것은 단지'반환 $의 발해야한다 == $ a;' – kuba

+0

'true' 또는'false' 만 반환하는'if-else'가 있으면, 확실히 overcomplicating 것입니다. –

답변

0

아니요, 괜찮습니다. 실제로 여러 경우에 조언을 받았습니다. :)

4

아니요. 둘 다 똑같이 작동합니다. 그러나, 이런 식으로 작성하는 것이 훨씬 청소기 될 것이다 : 값을 반환 할 때, 함수가 남아 있기 때문에, 완전히 멋진

function do_something($val) 
{ 
    $a = 1; 
    return ($val==$a) ? true : false; 
} 
+0

'? true : false' 부울식이 혼동스럽고 쓸모 없다. – ThiefMaster

+0

나는 이것을 안다; 그/그녀에게 간단한 반환을하는 다른 방법을 제공하는 데 도움이됩니다. 그는'return ($ val == $ a)'이 의도 한대로 작동하지 않는 곳에서 bool을 반환하기를 원하지 않을 수도 있습니다. – Menztrual

+2

제 생각에 이것이 [혼성 연산자] (http://php.net/manual/en/language.operators.comparison.php)가 무엇인지 알지 못해서 혼란 스럽습니다. –

2

및 팔로우 중요하지 않습니다.

그러나 당신이 그것을 할

function do_something($val) 
{ 
    $a = 1; 
    return $val == $a; // this condition will be evaluated to true/false 
} 
1

가장 짧은 방법을이을 단축 할 수 : 어쩌면 그냥 나쁜 예

function do_something($val) 
{ 
    return ($val==1) ; 
}