PHP: 제어문

dev5hjae·2024년 11월 12일

PHP

목록 보기
3/8

foreach 문

foreach 문은 일반적인 for 문과는 전혀 다른 형태의 반복문이다. foreach 문은 배열의 모든 요소를 손쉽게 순회할 수 있도록 해준다.
이 반복문은 루프마다 배열의 각 요소를 지정된 변수에 대입한다. 이렇게 대입받은 변수를 이용하면 루프 안에서 배열의 각 요소에 순차적으로 접근할 수 있다.
따라서 foreach 문은 정확히 배열의 길이(length)만큼 반복된다.

기본 구조

foreach(배열 as 값을 저장할 변수){
	실행하고자 하는 명령문;
}

예시

$arr = array(2, 4, 6, 9);
foreach($arr as $value){
	echo "변수 \$value의 현재값은 {$value}입니다.<br>";
}
unset($value);
  • $value는 foreach 문 내에서만 사용하는 변수이다.
    따라서 foreach 문이 끝난 뒤에는 unset() 함수를 사용하여 해제해준다.

배열의 값뿐만 아니라 키값도 저장하여 활용하는 예시

$arr = array(
	"둘" => 2,
    "넷" => 4,
    "여섯" => 6,
    "여덟" => 8
);
foreach($arr as $key => $value){
	echo "배열 \$arr에서 키값 '{$key}'에 대한 값은 {$value}입니다.<br>";
}
unset($value);
  • foreach 문에서 실행될 명령문이 한 줄뿐이라면 중괄호({})를 생략할 수 있다.

루프의 제어

일반적으로 조건식의 검사를 통해 루프로 진입하면, 다음 조건식을 검사하기 전까지 루프 안에 있는 모든 명령문을 실행한다.
사용자는 continue 문과 break 문을 통해, 이러한 일반적인 루프의 흐름을 직접 제어할 수 있다.

continue 문

continue 문은 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 한다.
보통 반복문 내에서 특정 조건에 대한 처리를 제외하고자 할 때 자주 사용된다.

1부터 100까지의 정수 중에서 4의 배수를 제외하고 출력하는 예시

$num = 4;
for($i = 0; $i <= 100; $i++){
	if($i % num === 0){
    	continue;
    };
    echo "{$i}";

break 문

break 문은 루프 내에서 사용한다.
해당 반복문을 완전히 종료시키고, 반복문 다음에 위치한 명령문으로 이동시킨다.
즉, 루프 내에서 조건식의 판단 결과에 상관없이, 반복문을 완전히 빠져나가고 싶을 때 사용한다.

1부터 100까지의 합을 구하는 예시

$sum = 0;
$startNum = 1;
$endNum = 100;
$i = $startNum;

while(true){
	$sum+= $i;
   	if($i === $endNum)
    	break;
    $i++;
}
echo "{$startNum}에서부터 {$endNum}까지 더한 값은 {$sum}입니다.";

0개의 댓글