2017-04-07 1 views
0

다음 코드를 사용하여 같은 else를 세 번 사용하는 것 외에 다른 결과를 사용하여 if-else를 사용하는 더 좋은 방법이 있는지 알고 싶습니까?동일한 else 코드로 if-else 문을 중첩했습니다.

if($condition1) { 
    // some code to get condition 2 
    if($condition2) { 
     // some code to get condition 3 
     if($condition3) { 
     $dt = $something; 
     } else { 
     $dt = ""; 
     } 
    } else { 
     $dt = ""; 
    } 
} else { 
    $dt = ""; 
} 
+1

는'$ DT는 = ""'이전의 경우 1 수준 if 문 varibale을 정의하면서. 그렇다면 다른 부분을 쓸 필요가 없습니다. – Gaurav

+0

스위치 상태로 전환하지 않는 이유는 무엇입니까? 그것은 당신의 조건에 좋을 것입니다. –

답변

1

else 문을 쉽게 제거 할 수 있습니다.

$dt = ""; // Assign $dt in the beginning 

if ($condition1) { 
    // some code to get condition 2 
    if ($condition2 && $condition3) { 
     // some code to get condition 3 
     $dt = $something; 
    } 
} 
0

중첩 된 문을 피하는 두 가지 방법. DO가를 사용하여 기능

$dt = doSomething($params); 

function someFunction ($params) { 

    if (!$condition1) { 
     return ""; 
    } 

    // do stuff for condition 1 

    if (!$condition2) { 
     return ""; 
    } 

    // do stuff for condition 2 

    if (!$condition3) { 
     return ""; 
    } 

    return $something; 
} 

를 사용

/문

do { 

    $dt = ""; 

    if (!$condition1) { 
     break; 
    } 

    // do stuff for condition 1 

    if (!$condition2) { 
     break; 
    } 

    // do stuff for condition 2 

    if (!$condition3) { 
     break; 
    } 

    $dt = $something; 

} while (0); // since this will evaluate to false it will not loop at all.