생활코딩 PHP - 반복문 흐름의제어 > PHP

PHP

PHP Web Programming 강의 리스트

생활코딩 | PHP - 반복문 흐름의제어

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 PHP강의 청각장애인을 위한 자막
1544411581498.jpg

 에바 시간에는 반복문을 제어하는 방법

반복문 에 흐름을 제어하는 방법을 살펴보도록 하겠습니다
자 이렇게 한번 생각해 보죠 우리가 반복문이 쭉 실행되는 과정에서 이
반복 조건을 지정을 하잖아요 지금까지 살펴 본 걸로는 아이 라고 하는
변수를 정의하고 그 아이 라고 하는 변수가 어떤 특정한 숫자 보다 작을
때 똥 안 작을 작은 동안 반복문을 실행 한다. 라고 그렇게 우리가
지금까지 해 왔잖아 요 자 그것은 뭐냐면 반복문이 몇 번 실행 될
것인지가 반복문을 실행할 때 또는 반복문을 정의할 때 결정 되어 있다라는
뜻입니다
자 그런데 반복문을 실행 하다가 보면 여러가지 이유로 인해서 반복문을
중간에 종료 시켜야 되는 경우가 생길수가 있어요
예를 들어서 여러분이 어떠한 작업을 하는데 그 작업이
어 뭐 어떤 정보를 찾는다 라고 했을 때 그 정보가 언제 찾아질 지 몇
번 반복을 해야지 찾아지지 알 수 없을 때는 반복문을 일단 무한 반복
으로 만듭니다
무한히 반복될 도록 하는 거죠 그렇게 하다가 그 무한 무한히 반복하는
과정에서 여러분이 필요한 값을 찾았을 때 또는 원하는 소기의 목적을
달성했을 때 그때 반복문을 종료 시키고 싶은 경우가 생길수도 있겠죠
그렇잖아요 그런 경우에 사용할 수 있는 것이 바로 여기 있는 브레이크
라고 하는 겁니다
자브라 이크는 뭐 브레이크 뭔지 아시죠 중간에
이 주행 중에 브레이크를 밟으면 주행이 중단 되죠
즉 반복문 이라고 하니 고속으로 돌아가고 있는
이쪽에 흐름을
중지시키는 것이 브레이크 빕니다
자 여기 있는 로직을 한번 살펴볼게요
자 여기 있는 요거 를 실행시키면 어떻게 되냐면
결과부터 먼저 보죠 제가 예제를 너무 안 열어 봤어요
요렇게 됩니다 0 1 2 3 4
까지 화면에 출력이 되는 예제 요 자 그러면 코드도 한번 살펴볼게요
자 첫 보면 얘가 몇 번 실행 되는지 감이 오시나요
자 여기 불필요한 코드가 있어서 제가 삭제하겠습니다
자 코드를 보면
자 아이가 0이고 아이는 1씩 증가하고
그리고 아이가 10보다 작을 때 까지 반복문이 실행 된다 라고 되어
있습니다
자 그건 무슨 뜻이죠 예 2 반복문 은 10번 실행이 된다는 것이 있 꼭
여기에 있는 내용을 봤을 때 105
자 여기에 있는 요 내용을 봤을 때
내용을 봤을 때 어
아이의 값이 들어가니까 코딩무리 바 뒤 1 2 3 5 6 7 8
9 가 화면에 출력이 되겠죠
예 그런데 실제로 제가 요걸 실행을 시켜 보니까 아까 보시는 것처럼
결과는 0 1 2 3 5 0 1 2 3 까지만 출력이 되고
5 6 7 8 9 는 출력되지 않고 있습니다 제가 그 이유가 무엇인가
라는 것이 우리의 궁금증이 고 그 원인은 여기에 있겠죠 자 여기 있네요
반 보 무인이 쭉 실행이 되면서 알리의 값이 1씩 증가 하다가 아이가
사가 된 상태에서 이게 실행이 되면 아이의 값은 0 가 되죠 그러면
여기에는 5가 들어가고
오는 10보다 작기 때문에 이 반복문 은
반복 지속 조건에 만족이 되죠 그러면요 중 가로 사이에 있는 구문이
실행이 되서
여기서 딱 멈추게 쬲 그럼 여기에 현재 들어가 있는 값은 뭐예요
5 조 oo 5가 같죠 그러면 여기 있는 요 조건은 투로 가 되면서 이
중 가로 사이에 있는 구문으로 진입을 하게 되서
여기에 대해서 브레이크 라고 하는
특별한 명령을 만나게 됩니다 자의 브레이크를 만나게 되면 이 반복문 은
어떤 운명에 처하게 되냐면 여기서 이 반복문 은 무조건 종료됩니다
그리고
어디로 가냐 이 프로그램의 실행 점이
요중 가로
다음으로 가게 되는 거예요
즉 브레이크가 반복문 안에서 실행이 되면 그 순간 반복문 은 종료됩니다
자 그리고
그 다음에 살펴볼 것은 컨티뉴 라고 하는건데요 이 컨테이너 이유는
브레이크와 상당히 유사한 기능을 갖고 있는데 아주 중요한 차이점이 있어요
자 여기에 있는 요 컨티뉴 가 우리가 지금 살펴볼 것이고 우리가 방금까지
살펴보는 것은 옆라이트 입니다
자 브레이크와 콘팅 후에 차이는 무엇이냐면 실행결과를 보면 알 수 있어요
자 요거는
브레이크 를 실행한 결과 구요
요거는 컨티뉴 를 실행한 결과입니다
자 여기 있는 숫자를 한번 같이 카운팅 을 해보죠 0 122
3 4
6 뭐죠 이게 뭐 빠졌어요 고가 빠졌죠
7 8 9 가 되네요 즉 어떤 이은진 아직은 모르지만
요긴 2호 값들이 증가 하면서 어느 시점에서
5 를 건너 띄고 그 다음으로 진행이 된 것을 볼 수가 있습니다
자 그 이유가 바로 컨티뉴 때문입니다
자 코드를 보시면 제가 이 두 개의 코드를 비교하기 위해서 이렇게 한
화면에 출력을 했는데요
자 보시는 것처럼
자 여기에 콘티 뉴가 이렇게 등장을 하게 되면
반복문 이렇게 실행이 되다가
요 조건문 의 어
2 앞 되면서 콘티 뉴 까지 오게 되면 이 컨티뉴 는 어떤 역할을 하냐
반복문을 반복문 의 실행을 중지 시킵니다
그리고 이 콘티 뉴 이후에 나오는 모든 코드들은 실행이 되지 않습니다
그리고
요 프로그램의 실행이 흐름이 어떻게 되냐
다시
요리로 오게 됩니다 그리고 현재 i 의 값이 5 였으니까
요게 실행이 되면 유기 되고
그 다음엔 일로 가죠 그러면 아이의 값은 전 제고 에요
6 이니까 6은 10보다 작죠 그러면 다시
여기니 요요 결과는 투르가 되고
다시 중괄호 안으로 들어가서 여기 있는 구문이 실행이 되는 거죠
그런데 현재 값은 현재 아이의 값은
유기 줘 6과 오는 다르잖아요
그러니까 여기 있는 요 이프 문은 무시가 되고 그 다음에 있는 요 에코
문이 실행이 되면서
여기에 값은 뭐죠 유기 줘
그래서 코딩 에브리바디 6b 알이 실행이 되는 겁니다
그리고 여기 까지 도달 했으니까 다시 포문 으로 와서
요렇게 요렇게 흘러서 흘러서 이렇게 실행이 되는 거죠
자 이제 더이상 설명 안드려도 될 것 같습니다 즉 콘티 니와 브레이크 의
차이점은
둘다 둘다 반복문을 중지 시킨다
라고 하는건데 이블아이 크는 반복문 자체를 완전히 중지 시킵니다
i 표현이 좀 하면 그런데 이 컨테이너는 현재 진행되고 있는 이 반복의
흐름만
중지를 시키고 반복문 자체는 지속하는 것이 컨티뉴 가 하는 일입니다
자 그럼 생각해 보죠 이 반복문 에서 컨티뉴 아 브레이크는
어떤 때 사용하는 걸까요 이런 자 어떤 차이가 있는지는 알수가 있는데
그건 뭐 여러가지 o 여러 가지 얘기를 할 수가 있겠지만 일단 생각해 볼
수 있는 것은
요 브레이크가 나타났다는 것은 더 이상 이 반복문 에 대해서 1 없다라는
뜻입니다
예 2 반복문 은 이 반복문 전체가 더 이상 해야 될 일이 없다 라는
뜻이에요
반복문을 그렇기 때문에 완전히 중지 시키는 거 좀 즉 문제를 반복문
해결해야 될 문제를 완전히 끝냈다는 뜻입니다
자 그럼 여기 있네요 컨티뉴 라고 하는 것은 이 반복문 자체 효영은 아직
남아 있어요
예 아직까지 계속해야 될 일이 있는데 지금 이 요기 있는 요 흐름이
요 흐름 이 한 번의 반보 예요 흐름에 흐름 안 해서 해야 될 일은 일단
끝났기 때문에 그 이후에 있는 로직은 더 이상 실행할 필요가 없다
하지만 계속해서 똑같은 작업을 해야 된다 라고 했을때 컨테이너를 쓰는
겁니다
그래서 이 브레이크와 컨티뉴 비슷한것 같지만 미묘한 차이가 있고 그
미묘한 차이에 의해서
여러분들이 어떤 이 프로그래밍을 경제적으로 할 수가 있게 되는 것이기
때문에
그럼요 차이 잘 기억해 두셔야 됩니다
뭐 예를들면 제가 경제적 이란 표현을 썼는데
어여 여러분이 실제로 어떤 일을 처리하는데
그 일을 다 처리 했음에도 불구하고 이 브레이크 문 같은 걸 쓰지 않으면
예 프로그램 상으로는 큰 문제는 없을 수도 있어요 하지만 이 불필요하게
이 반복 문 자체가 계속해서 실행이 되는 되는 상황 때문에 이 컴퓨터가
더 많은 에너지를 사용하게 하거나 더 많은 시간을 사용하게 하는 그런
문제가 있을 수가 있기 때문에 여러분들이 브라이트 컨티뉴
이런 부분들을 잘 활용 하셔야 지만 효율적 인 애플리케이션을 안 될 수가
있습니다

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu