happy cat image

everdevel

Web Technology, 에버디벨

UI 변경

EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

반복문 - FOR문

반복문이라함은 1부터 100까지 누적되는 합을 구하거나 구구단 2~9단까지 출력하거나 할 때 사용됩니다 .

종류에는 for문, while문, do-while문이 있습니다.

for문 부터 알아볼까요? for문을 알려면 간단하게 1부터 10까지 출력해보는 소스를 구현해 보면 이해가 쉽습니다. 물론 실전으로 가면 여러가지 경우들이 있는데요. for문은 많이 사용합니다. 잘 알아두셔야 해요~!!

1 ~ 10을 줄을 바꿔가면서 직접쓰려면 아래와 같이 해야겠죠?

<?php
    echo "1 <br />";
    echo "2 <br />";
    echo "3 <br />";
    echo "4 <br />";
    echo "5 <br />";
    echo "6 <br />";
    echo "7 <br />";
    echo "8 <br />";
    echo "9 <br />";
    echo "10 <br />";
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 빠르게 로그인 하세요.)

로그인 하여 위의 코드를 클릭 한번에 실행하려면 여기를 클릭해 주세용.

위와 같이 쳐야 하지만

for문을 이용하면 소스를 굉장히 줄여 사용할 수 있습니다.

<?php
    for ($a = 1; $a <= 10; $a++) {
        echo " $a <br />";
    }
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 빠르게 로그인 하세요.)

로그인 하여 위의 코드를 클릭 한번에 실행하려면 여기를 클릭해 주세용.

위와같이 3줄로 해낼수가 있습니다.

그러면 수행과정을 알아볼까요?

<?php
    for($a = 1; $a <= 10; $a++){
      echo " $a <br />";
    }
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 빠르게 로그인 하세요.)

로그인 하여 위의 코드를 클릭 한번에 실행하려면 여기를 클릭해 주세용.

for($a = 1; $a <= 10; $a++)여기에 보면 3개의 명령문들이 보입니다. 순서대로 (변수선언,조건,증감식)

변수 $a=1을 선언하였다. 즉 a에 1을 대입

그렇다면 조건 $a <= 10 에서 참, 거짓을 구분한다.

참이라면

echo "$a <br />" ; 를 실행한다.

실행을 한후에 $a++를 실행한다.

$a++를 실행을 하면 a는 2가 대입된다.

그리고 나서

조건 $a <= 10에서 참, 거짓을 다시 구분한다. 전에는 1이기 때문에 참이었으며 지금은 2이기 때문에 또 참이므로

echo문을 실행한다. 그후 다시 $a++를 실행하며 다시 조건의 참, 거짓을 판별한다. 이런식으로

계속 반복이 되며 a에 11이 대입이 되면 거짓으로 판별되어 echo문을 더이상 수행하지 않게 된다.

그렇다면 1부터 10까지 누적되는 값을 구해보자.

<?php
    echo "1부터 10까지 for문을 이용하여 누적된 값을 구하는 <br />";
    echo "=============================================== <br />";

    $sum = 0; // 누적되는 값을 여기에다가 저장시키기 위하여 선언

    for($a = 1; $a <=10; $a++){
        $sum += $a;
        echo " {$a}까지 누적합은 {$sum}입니다.^^ <br />";
    }
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 빠르게 로그인 하세요.)

로그인 하여 위의 코드를 클릭 한번에 실행하려면 여기를 클릭해 주세용.
php image

누적된 값을 저장할 무언가가 필요하기에 $sum을 선언하여 그곳에 누적된값을 저장시킨다.

그렇게 되면

for($a = 1; $a <=10; $a++)
{
$sum += $a;
echo " {$a}까지 누적합은 {$sum}입니다.^^ <br />";



a는 1 이고 1은 10보다 작기때문에 조건식에서 참으로 판별된다.

참으로 판별이 되었으므로 아래의 명령을 수행한다.

$sum은 0이었으나 += $a;를 수행하여 1이 더해져서 $sum 값이 1이 된다.

그후 echo문을 수행한다.

그후 증감식을 수행한다 .$a++ 하였으므로 $a는 2가 되었고

조건에서 10보다 작아서 참으로 판별이 되었으며

$sum += $a; 를 수행한다. 여기서 $sum 은 1이고 $a는 2이므로 1+2가 되므로 $sum 은 3이 된다.

그후다시 echo문 수행, 다시 증감식 수행 그럼 $a는 3이 되고 이런식으로 쭉 조건이 참을 판별하게 되면 반복하게 되어 11이

되면 수행을 멈추게 된다. 거짓으로 판별되었기 때문에...

이중 for문

2중 for문은 for문 안에 서 또 for문을 선언하는 것이다. 어렵게 생각할 필요가 전혀 없다. 그냥 말 그대로 for문에서 또 for문이 들어가는 것 뿐이다.

예를 들어

구구단 2,3단의 숫자 3까지만 만들어보면

<?php
    for($a = 2; $a <= 3 ; $a++){

        echo " 구구단 $a 단 <br />";

        for($b = 1; $b <= 3 ; $b ++){
            $mul = $a * $b;
            echo " $a * $b = $mul <br />";
        }
    }
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 빠르게 로그인 하세요.)

로그인 하여 위의 코드를 클릭 한번에 실행하려면 여기를 클릭해 주세용.
php image

for문을 선언했습니다? 2부터 시작한 이유는 2단부터이기 때문입니다.
3보다 작으므로 조건에 참으로 되어서 다음 실행문을 실행을 합니다.
그럼 구구단 2단 이 출력 되고 그 다음을 실행합니다.
그 다음이 for문 이네요 그러므로 for문을 실행합니다.
b =1; b < =3; b++
그리고 a 와 b를 곱한값을 저장하기 위한 변수 mul을 선언합니다.
그리고 마지막 실행문인 echo " $a * $b = $mul을 실행합니다.
그리고 나서
현재 a는 2 b는 1이므로
2 * 1 = 2($mul)
b를 증가시키고 2로 변환되어서 조건에 참을 만족한후
다시 echo문 실행 하므로
2 * 2 = 4
가 실행 됩니다.그후 다시 b는 증가되어서 3이 됩니다.3과 같으므로 다시 참을 만족하여
2 * 3 = 6 을 표현하게 됩니다.다시 증가하여 4가되었습니다.
4는 거짓으로 판별되어 for문을 빠져나옵니다.
그러면 처음에 있던for문으로 가게되고 실행문을 실행하여 왔으므로 첫 for문의 $a++을 실행하여 a는 3이 됩니다.
3이므로 저건에 참으로 구분되어
다시 아래 실행문을 실행합니다.
구구단 3단이라고 출력한후
그 아래의 for문도 실행을 하고
위와같은 과정으로 3단을 표현하게 되고
빠져나오면 a의 값이 4가 되고 거짓으로 판별되어 종료됩니다.

설명이 잘 전달됐으면 좋겠네요.;;

이런식으로 해서 구구단을 당신이 원하는 만큼 만들어낼수 있습니다.
19단 까지 19를 곱한것까지도 가능하며 당신이 워하는 수만큼 가능합니다.
그럼 정상적인 9단까지의 구구단을 출력해 보려면 어떻게 할까요?
처음 구구단을 몇개까지 설정해주는 첫 for문의 조건을 3이 아닌 9로 변경해주고
두번째 for문의 조건도 9로 변경해줍니다.
아래와 같이

<?php
    for($a = 2; $a <= 9 ; $a++){

      echo " 구구단 $a 단 <br />";

      for($b = 1; $b <= 9 ; $b ++){
        $mul = $a * $b;
        echo " $a * $b = $mul <br />";
      }
    }
?>

(로그인을 하시면 위의 코드를 실행 할 수 있습니다.
oAuth인증 방식으로 빠르고 간편하게 로그인할 수 있습니다.
네이버, 구글, 카카오, 라인의 ID로 빠르게 로그인 하세요.)

로그인 하여 위의 코드를 클릭 한번에 실행하려면 여기를 클릭해 주세용.

2019년 에버디벨이 제안하는 클라우드 개발환경(EEOS)이 드디어 오픈했습니다.
이제 개발환경구축없이 웹브라우저에서 웹개발하자
HTML5, CSS3, JavaScript를 넘어 MySQL, PHP까지
앞으로 지원 언어는 더 늘어날 예정 react, node, angular등
웹브라우저만 있다면 기기도 가리지 않아요. 이제 아이패드에서도 웹개발해요.!!
자기만의 클라우드 에디터, 저장공간, 데이터베이스, 접속 URL(eeosXXX.adjkl.com/eeos/)을 제공해요.
현재 웹코딩 시작하기와 PHP200 독자는 mybook(책과 관련된 기능 제공)에서 사용할 수 있습니다.

EEOS 신청하기 EEOS 알아보기

강좌로 돌아가기