Web
Php 분류

PHP 기타 제어문

작성자 정보

  • console 작성
  • 작성일

컨텐츠 정보

본문

루프의 제어

일반적으로 조건식의 검사를 통해 루프로 진입하면, 다음 조건식을 검사하기 전까지 루프 안에 있는 모든 명령문을 실행합니다.

사용자는 continue 문과 break 문을 통해, 이러한 일반적인 루프의 흐름을 직접 제어할 수 있습니다.


continue 문

continue 문은 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고, 바로 다음 조건식의 판단으로 넘어가게 합니다.

보통 반복문 내에서 특정 조건에 대한 처리를 제외하고자 할 때 자주 사용됩니다.

 

다른 언어와는 달리 PHP에서는 switch 문에도 continue를 사용할 수 있어, switch 문을 반복문처럼 사용할 수 있습니다.

 

다음 예제는 1부터 100까지의 정수 중에서 4의 배수를 제외하고 출력하는 예제입니다.

예제

$exceptNum = 4;
for ($i=0$i<=100$i++) {
    if ($i % $exceptNum == 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}입니다.";

코딩연습 ▶


goto 문

goto 문은 프로그램의 흐름을 지정된 레이블(label)로 무조건 변경하는 명령문입니다.

 

goto 문은 다른 제어문과는 다르게 아무 조건 없이 제어를 옮겨줍니다.

따라서 가장 손쉽게 사용할 수 있지만, 반면에 프로그램의 흐름을 매우 복잡하게 만들기도 합니다.

이러한 단점 때문에 현재는 거의 사용하지 않습니다.


제어문의 대체 문법

PHP는 제어문을 위해 사용할 수 있는 또 하나의 대체 문법을 제공하고 있습니다.

이 대체 문법은 조건문에서는 if 문과 switch 문, 반복문에서는 while 문, for 문과 foreach 문에 사용할 수 있습니다.

 

대체 문법의 사용 방법은 우선 제어문의 여는 괄호({)를 콜론(:)으로 대체합니다.

그리고 닫는 괄호(})를 각각 endif;, endswitch;, endwhile;, endfor;, endforeach;로 대체하면 됩니다.

예제

<?php $var = 5?>
<?php if ($var > 6)?>
변수의 값은 6보다 큽니다.   <!-- 이 부분은 HTML 구문임 -->
<?php elseif ($var == 6)?>
변수의 값은 6입니다.        <!-- 이 부분은 HTML 구문임 -->
<?php elseif ($var < 6)?>
변수의 값은 6보다 작습니다. <!-- 이 부분은 HTML 구문임 -->
<?php endif?>

코딩연습 ▶

 

위의 예제에서 대체 문법으로 쓰인 elseif 문 안에 있는 HTML 구문은 변수 $var의 값에 따라 단 하나만이 출력될 것입니다.

관련자료

댓글 0
등록된 댓글이 없습니다.
Php 24 / 1 페이지
RSS
  • 그누보드 썸네일 이미지 화질 개선 방법
    등록자 PixelProphet
    등록일 01.10 조회 2737

    Php 그누보드에서 이미지를 올릴때, 간혹 이미지 화질이 떨어져 보이는 현상이 있습니다.... 이럴 때 제가 찾아본 방법 중에 가장 쉽게 해결 할 수 …

  • PHP 배열의 기초
    등록자 console
    등록일 01.05 조회 2533

    Php 배열(array)이란? PHP에서 배열(array)은 맵(map)으로 이루어진, 순서가 있는 집합을 의미합니다. 맵(map)은한 쌍의 키(key…

  • PHP 기타 제어문
    등록자 console
    등록일 01.05 조회 2569

    Php 루프의 제어 일반적으로 조건식의 검사를 통해 루프로 진입하면,다음 조건식을검사하기 전까지 루프 안에 있는 모든 명령문을 실행합니다. 사용자는 c…

  • PHP 반복문
    등록자 console
    등록일 01.05 조회 2536

    Php 반복문 반복문이란 프로그램 내에서 같은 명령을 일정 횟수만큼 반복하여수행하는명령문입니다. 프로그램이 처리하는 대부분의코드는 반복적인 형태가 많으…

  • PHP 조건문
    등록자 console
    등록일 01.05 조회 2386

    Php PHP 표현식 표현식(expressions)은 PHP에서 가장 중요한 구성요소입니다. 표현식이란 모든 것이 값을 갖는다는 의미이며, PHP에서 …

  • PHP 기타 연산자
    등록자 console
    등록일 01.05 조회 2351

    Php 삼항 연산자(ternaryoperator) 삼항 연산자는 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다. 삼항 연산자의 문법은 다음과 같…

  • PHP 비트 연산자
    등록자 console
    등록일 01.05 조회 2561

    Php 비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다. 또한, 비트…

  • PHP 논리 연산자
    등록자 console
    등록일 01.05 조회 2619

    Php 논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다. and, or, …

  • PHP 비교 연산자
    등록자 console
    등록일 01.05 조회 2637

    Php 비교 연산자(comparisonoperator) 비교 연산자는피연산자사이의 상대적인 크기를 판단하여,참(true)과 거짓(false)을 반환합니…

  • PHP 증감연산자
    등록자 console
    등록일 01.05 조회 2249

    Php 증감 연산자(increment and decrement operator) 증감 연산자는피연산자를 1씩 증가 혹은 감소시킬 때사용하는 연산자입니다…

  • PHP 대입연산자
    등록자 console
    등록일 01.05 조회 2317

    Php 대입 연산자(assignment operator) 대입 연산자는변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽…

  • PHP 산술연산자
    등록자 console
    등록일 01.05 조회 2320

    Php 연산자(operator) PHP는다양한 연산을 위해많은 종류의 연산자를 제공하고 있습니다. 산술 연산자(arithmetic operator) 산…

  • PHP 타입변환
    등록자 console
    등록일 01.05 조회 2723

    Php 자동 타입 변환(type juggling) PHP에서는 변수를 선언할 때 타입을 명시할 필요가 없습니다. 왜냐하면, PHP에서 변수의 타입은 해…

  • PHP 기본타입
    등록자 console
    등록일 01.05 조회 2338

    Php 기본 타입 타입(data type)이란 프로그램에서 다룰 수 있는 값의 종류를 의미합니다. PHP에서는여러 가지 형태의 타입을 미리 정의하여제공…

  • PHP 상수
    등록자 console
    등록일 01.05 조회 2544

    Php 상수(constant) 상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 하지만 상수가 변수와 다른…