웹에플리케이션 만들기 – JS, PHP 프로그래밍 12 : 배열과반복문

자, 이번시간에는 배열과 반복문을 결합하는 방법에 대해 알아보겠습니다 배열과 반복문은 바늘과 실의 관계라고 할 수 있어요

이 둘은 굉장히 밀접한 관계에 있기 때문에 사실은 이 두가지를 같이 공부할 필요가 있습니다 그래서 우리할일이 많지만 제가 특별히 배열과 반복문을 따로 수업으로 편성해서 수업을 진행하게 된거에요 배열과 그리고 반복문이라고 하는 이 두가지의 도구가 어떻게 랑데부해서 파워풀한 결과를 만들어내는지를 보여주는 단순한 코드입니다 여기보시면 이 위쪽에 있는 것은 배열이고요 아래쪽에 있는 것은 반복문이죠 그런데 중간 중간에 이렇게 배열이 포함되어있어요 이게 어떤 의미인지를 우리자세하게 살펴보도록 하죠

저는 11php라는 파일을 만들었고요 여기서 한번시작을 해보겠습니다 우선 list를 만들게요 list 라는 변수에 배열을 담아보겠습니다 new Array() 하고서 사람이름을 적겠습니다

최진영 최유빈 한이랑 한이은 이렇게 적었어요 그러면 이것을 실행하면 네 명의 이름이 담겨있는 배열이 list위에 담기게 됩니다 그러면 여기에 있는 이 각각의 사람의 이름을 제가 list태그로 출력해보도록 하겠습니다 그전에 일단은 화면에 출력하는 것부터 해보죠 반복문은 일단은 i=0 그리고 while문을 이용해서 몇 번 반복을 하게 될거냐면 i가 현재0인데 i<10동안 반복하겠다는 겁니다 그리고 i의 값을 1씩 증가시켜줘요 그러면 이 반복문은 10번 반복되게 됩니다 반복문시간에 배웠던 내용이죠? 그럼 한번화면에 내용을 출력을 할건데 여기다가 이렇게 documentwrite(i) 자 이렇게 해서 한번실행을 시켜보도록 하겠습니다 0부터 9까지 이렇게 출력되는 걸볼 수 가있죠 왜 그런지 잘 모르시겠으면 잘 한 번따져보시고 그래도 모르시겠으면 이전수업으로 가시면 거기에 내용이 나와있습니다

그런데 제가 여기있는 이 각각의 사람의 이름을 화면에 출력하려고해요 그러면 이각각의 사람들 지금 몇명이 여기에 있나요? 네 명이죠 그러면 i<4 동안반복을 시키고 그리고 list의 값에 i를 이렇게 주면 어떻게 될까요? 결론적으로 이렇게 4명의 이름을 화면에 출력할 수 있습니다 어떻게 동작하는 지를 한 번 보면 일단은 여기 있는 값이 4이기 때문에 이반복문은 네 번 반복해서 실행이 될거에요 그리고 반복해서 실행될 때 마다 i의 값은 바로 이 구문으로 인해서 1씩 증가 할 거라는 거죠 즉 처음에 여기에 반복문이 들어갈 때는 반복문이 실행될 때는 i의 값이 0일거고 그다음1 2 3 이렇게 될겁니다

그러면 여기의 값은 뭐에요? list[0] list[1] 이렇게 될거아니에요? 자 그렇게 되면 각각의 이 구문들은 첫 번째 값을 documentwrite()에 넣어줄거구요 두 번째 값을 documentwrite()값에 넣어줄겁니다 이렇게 화면에 사람들의 이름을 출력할 수 있어요 그런데 이걸로 끝난걸까요? 조금 더 효율적으로 하는 방법이 있습니다 예를 들어서 여기에 제가 "이고잉"을 추가했다고 생각해 보세요 그리고 실행을 하면 보시는 것처럼 "이고잉"이 추가됐음에도 불구하고 만약에 여기에서 이렇게 뒤에 있는 두 사람을 제외하고 실행을 시키면 undefined 즉, 정의되지 않았다는 에러가 뜬거에요 어떤 가요? 이렇게 되면 저 배열에 고정된숫자의 값들이 담겨있어야지만 된다라는 한계가생기는 것이죠 이거는 아주 좋은 프로그램이라고 할 수는 없습니다

프로그램은 유연해야 해요 상황에 따라서 자기가 알아서 적응해야 한다라는 것이죠 그것을 하기 위한 아주 좋은 방법이 여기에 4라고 적어놓은 부분을 이렇게 바꾸는 겁니다 length는 뭐였죠? 저 배열에 몇 개의 값이 있는 지 나타내는 것이 length였어요 저기다가 length를 붙여주면 이 값은 현재는 4지만 만약에 값이 두 개면 2가되고 하나면1이 될겁니다 그래서 제가 실행을 해보면 이렇게 세명이 다나오고 한명만 있다면 한명만 나오고요 그리고 뒤에다가 저를 추가하면 보시는 것처럼 추가된 제가 이렇게 화면에 출력되는 것을 볼 수 가있죠 여기서 조금 더 실용적으로 하기 위해서 사람들의 이름을 list로한번출력을 해볼까요? 자 HTML를 list로 <ul> 그리고 </ul>를 닫구요 그리고 여기에서 <li> 그리고 더하기 </li> 이렇게 하면 보시는 것처럼 이 사람들의 list가 화면에 출력됩니다 대단하죠? 정말 신의한수 아닌가요? length와 i를 넣어서 정보를 이런 식으로 처리한다는 거 자, 이것만으로는 너무 별거아닌 예제에요 사실 이프로그래밍이라는 것은 이렇게 단순한 문제를 해결하기 위해서 고안된거는 아니잖아요? 그런데 여러분들에게 복잡한예제를 정말 이 현실에서 사용되는 이 프로그래밍의 엄청난 힘을 보여주는 그런 예제를 수업에 사용하면 멘붕에 빠질겁니다 그래서 필요한게 여러분의 상상력입니다 자, 여기에 지금사람의 이름이 들어있는데 사람의 이름이 아니라 엄청나게 복잡하고 거대한 데이터가 들어가있구요 그 데이터를 처리하는 이 부분도 그냥화면에 출력하는게 아니라 더하고,빼고,나누고 미분적분 뭐 오만가지것들이 다 포함되어있는 그런 아주 복잡한 처리과정으로 생각을 하면 상상하면 이게 얼마나 강력한 힘을 발휘할 수 있는 지에 대해서 여러분들이 생각하실 수 있을 거에요 뭐 예를 들면 전국에 있는 이 한국에 모든 세금을 내는 사람들의 세금을 처리할 때 이런 반복문이 쓰이겠어요? 안쓰이겠어요? 당연히 반복문이 쓰입니다 또 배열도 쓰입니다 아주 복잡한 연산들이 규모도 어마어마하게 크잖아요? 그런 때에 바로 이런 심플한 배열 반복문

이런 도구들이 당연히 사용이 되는 거에요 그래서 여기있는 예제만을 통해서 여러분들이 생각하면 별로감흥이 없을 수 있어요 아시겠죠? 자 이번에는 빠른속도로 php버전으로 한번위에 있는 것과 똑같은 코드를 만들어보죠 자 list 그리고 php는 array로시작하죠? 최진혁 최유빈 한이랑 한이은 자 이렇게 되고요 i는 0부터 해서 count(list) 를 넣어주면 list의 개수라고 말씀을 드렸죠? 자, 이렇게 되고 그리고 echo $list[i]값을 화면에 출력 i=i+1 라고 이렇게 해주면 위에 있는것과 똑같은 코드가 됩니다 그런데 다만 이거는 지금 아직 list가 아니기 때문에 이렇게 <ul>로 감싸주고요 그리고 echo부분에다가 <li> 그리고

</li> 해주면 보시는 것처럼 위에 있는 Javascript와 아래에 있는 php가동일하게 동작하는 코드가 만들어지는 것을 볼 수 가있죠 자! 이렇게 해서 배열과 반복문을 조합해서 사용하는 방법에 대해서 알아봤구요 다음시간에 이제 이 대망의 마지막수업인 함수라는 것에 대해서 배워보겠습니다