PHP의 break 문

다음과 같이 배열 요소를 출력하는 루프가 있다고 가정해 보겠습니다:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    echo $elem;
  }
?>

배열에 숫자 3이 있는지 확인하는 과제가 있다고 합시다. 만약 있다면 화면에 '+++'를 출력하고 (없다면 아무것도 하지 않습니다).

과제를 해결해 봅시다:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem == 3) {
      echo '+++';
    }
  }
?>

문제는 해결되었지만, 한 가지 문제가 있습니다: 숫자 3을 찾은 후에도 배열은 의미 없이 계속해서 순회되며, 이는 귀중한 CPU 자원을 낭비하고 스크립트 실행 속도를 늦춥니다.

숫자를 찾는 즉시 루프 작업을 종료하는 것이 더 효율적일 것입니다. 이는 루프 작업을 조기에 종료할 수 있는 특별한 지시문 break를 사용하여 수행할 수 있습니다.

자, 숫자 3을 만나면 즉시 루프를 종료해 봅시다:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    if ($elem == 3) {
      echo '+++';
      break; // 루프를 빠져나옵니다
    }
  }
?>

break 문은 모든 루프를 종료할 수 있습니다: foreach, for, while.

Задание 1

숫자 배열이 주어졌습니다. 이 배열의 요소를 하나씩 콘솔에 출력하는 루프를 실행하되, 값이 0인 요소를 만나면 루프 작업을 중단하세요.

Задание 2

숫자 배열이 주어졌습니다. 배열의 처음부터 첫 번째 음수까지의 요소 합계를 구하세요.

Задание 3

숫자 배열이 주어졌습니다. 이 배열에서 첫 번째 숫자 3의 위치를 찾으세요 (이 숫자는 반드시 배열에 있다고 가정합니다).

Задание 4

숫자 1부터 시작하여 합계가 100을 초과하려면 몇 개의 정수를 더해야 하는지 확인하세요.