PHP에서 루프 내 return 사용
return이 루프 내부에 위치하는 것이 항상 오류는 아닙니다.
다음 예제는 배열의 처음 몇 개 요소를 더해야 합이 10 이상이 되는지를 확인하는 함수입니다:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// 합이 10보다 크거나 같으면:
if ($sum >= 10) {
return $i + 1; // 루프와 함수를 종료합니다
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
다음 예제는 결과가 100을 초과하기 위해 1부터 시작하여 몇 개의 정수를 더해야 하는지 계산하는 함수입니다:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // 무한 루프
$sum += $i;
if ($sum >= 100) {
return $i; // 여기서 나올 때까지 루프를 실행합니다
}
$i++;
}
}
echo func();
?>
숫자를 매개변수로 받아 결과가 10 미만이 될 때까지 2로 나누는 함수를 작성하세요. 함수는 결과를 달성하는 데 필요한 반복 횟수를 반환해야 합니다.