[php] 리턴을 사용할 때 스위치를 중단해야합니까?

“return”을 사용할 때 “switch”기능에서 “break”를 사용해야하는지 궁금합니다.

function test($string)
{
  switch($string)
  {
    case 'test1':
      return 'Test 1: ' . $string;
    case 'test2':
      return 'Test 2: ' . $string;
  }
}

나는 그것을 시도했고 “휴식”없이 잘 작동합니다. 하지만 이것이 안전한지 알아야합니다. 감사합니다.



답변

예, return대신 사용할 수 있습니다 break

break선택 사항이며 다른 모든 명령문 에서 ” 낙하 ” 를 방지하는 데 사용됩니다 case. 따라서 return유사한 방식으로 사용할 수 있습니다.return 함수 실행이 끝나면 .

또한 모든 case진술이 다음과 같은 경우 :

case 'foo':
   $result = find_result(...);
   break;

그리고 그 후 switch당신은 그냥이 문 return $result사용하여 return find_result(...);각은 case코드가 훨씬 더 읽기 쉽게 만들 것입니다.

마지막으로 default케이스 를 추가하는 것을 잊지 마십시오 . 코드가 절대 default케이스에 도달하지 않을 것이라고 생각한다면 assert확신 할 수 없기 때문에 함수를 사용할 수 있습니다.


답변

중단이 필요하지 않으며 반환은 함수 실행을 중지합니다.

(참조 : http://php.net/manual/en/function.return.php 말한다 :

함수 내에서 호출되면 return () 문이 현재 함수의 실행을 즉시 종료합니다.

)


답변

키워드 return이 호출되면 스위치 / 케이스가 호출 된 특정 기능이 종료되었음을 나타 내기 때문에 필요하지 않습니다.


답변

아니, 당신은 필요하지 않습니다 breakA의 switch case문. 은 break실제로는 선택 사항이지만, 사용에주의.


답변

필요하지는 않지만 어떤 경우에도 좋은 방법으로 사용하는 것이 좋습니다.


답변

Break는 스위치 구조의 제어가 다른 케이스로 이동하지 못하도록 제한하는 데 사용되는 경고문 일뿐입니다 … 예를 들어 3 개의 case 문이 있고 값이 첫 번째 케이스이고 break 구조없이 case를 사용한 경우 다음 모든 경우 첫 번째 경우에만 조건이 충족 되더라도 실행됩니다 … Return은 asme 기능을 수행 할 수 있으므로 break 대신 return을 사용하면 return이 switch case 문에서 제어권을 빼앗기 때문에 문제가되지 않습니다. 그 순간이 필요합니다 .. 도움이 되길 바랍니다 ….


답변

return 은 제어를 호출하는 메서드에 다시 제공합니다. 여기서 break 는 switch 블록 다음의 첫 번째 명령어로 점프합니다.