728x90

php는 웹프로그래밍 언어이지만 사실 웹에서만 사용하는게 아니라 인터프리터를 사용해서 커맨드라인에서 스크립팅을 해볼 수 있다. 그러나 아무도 그러한 용도로 사용하지 않기 때문에 필자의 홈페이지에서는 그러한 것을 고려하지 않는다. 따라서 모든 상황은 apache와 php와 mysql을 사용하게 될것이다. 그리고 모든 테스트는 웹페이지에서만 할것이며 가끔 필요하다면 인터프리터에서 사용하게 될것이다. 강의에서는 일반적인 상황에서는 툴을 사용하는 방법을 알려주지 않을 것이다. 툴을 사용하는 방법에 대해서 알기를 원한다면 usage-php를 확인하도록 하자.


참고:

[APM]PHP사용하기 - apache설치(1)

[APM]PHP사용하기 - php설치(2)


어떤 언어에서든 반복문은 자주 사용하고 기본적으로 탑재 되어 있다.

가령 1부터 100까지를 더하는 코드를 짠다고 가정해보자.

그러면 100줄을 다 적을것인가? 그럴수는 없다.

이를 위해서 반복해서 사용하는 문법적 구문을 반복문이라고 한다.

php에서는 반복문 구분은 총 4가지가 존재한다.

각각 while, dowhile, for, foreach이며 하나씩 알아보도록하자.


while


while(condition){

syntax;

}


while문은 ()속에 조건을 적는다.

만약 조건이 참일 경우에 안의 syntax를 실행하게된다.

중요한 점은 ()의 조건이 언젠가는 거짓이 되어서 괄호를 벗어나게 해야한다.

그렇지 않으면 영원히 실행하는 무한루프 상태가 되게 될 것이다.

아래는 while사용한 예시이다.


<?php
$i = 10;
while ($i > 0) {
echo "$i" . "입니다.<br>";
$i--;
}

변수 i의 상태를 계속해서 체크한다. i가 0보다 큰 동안에 계속해서 루프를 될면서 화면에 출력하게 된다.

그러면서 마지막에 i를 계속해서 감소시키는 로직또한 존재한다.

결국에는 언젠가 i는 0보다 작아져서 조건이 거짓이 되면서 while루프를 빠져나가게 될 것이다.

그럼 한번 실행해 보자.


10부터 1까지 출력되는 것을 확인 할 수 있다.


do-while


do{

syntax;

}while(condition);


do-while은 while문과 비슷하다. 그러나 차이점이 있다면 처음 한번을 무조건 실행시킨다는 점이다.

가령 아래와 같은 코드를 보도록 하자.

<?php
$i = 10;
do {
echo "$i" . "입니다.<br>";
$i--;
} while ($i > 10);

위 코드는 일반적인 while문은 아예 실행도 되지 않는 코드이다.

그 이유는 i가 이미 10인데 조건이 i>10이기 때문이다.

그러나 do while의 경우 일단 실행시키고 조건을 보기 때문에 반드시 한번은 실행된다.



단 while문과 do-while문을 사용하는 것은 취향차이라고 할 수 있다.

그 이유는 do-while문도 while문으로 표현할 수 있기 때문이다.

그래서 일반적인 경우에는 do-while을 쓰는 것을 보기 힘든 경우가 만핟.


for


for(초기화;조건;증가분){

syntax;

}


for문은 while문의 특별한 경우이다.

for문은 총 3구역으로 나누어져 있는데 1구역에서는 변수를 초기화 시킨다.

그리고 2구역에서는 조건을 본다. 이 조건이 참일때만 반복문을 실행시킨다.

그리고 3구역에서는 증가분을 본다. 즉 조건에 맞는 변수를 변경시켜서 반복을 돌리게 된다.

예제를 보도록 하자.


<?php
$n = 10;
for ($i = 0; $i < $n; $i++) {
echo "$i" . "입니다.<br>";
}

위 조건은 i는 0부터 n보다 작은동안(n은 10) i를 한개씩 증가시키면서 반복을 실행시킨다.

그래서 위의 경우에는 0부터 시작해서 9까지 출력하게 된다.



모든 for문은 while문으로 치환할 수 있고 역도 가능하다.

그러나 보통 for문은 정해진 횟수를 반복하는 느낌이 강하며 while문은 무한루프를 돌리거나

변수값이 크게 변동할때 사용하는 경향이 강하다.


foreach


foreach(대상변수 as 사용할변수){

syntax;

}


foreach는 for문보다도 특별한 상황에서 사용할 수 있다.

foreach는 특정 객체나 배열을 순환할 때만 사용할 수 있다.

가령 배열을 사용할 경우 for을 사용할 수도 있겠지만 foreach를 사용해서 순회할 수도 있다.

<?php
$arr = array(2, 4, 6, 8, 10);
foreach ($arr as $atom){
echo "$atom"."입니다.<br>";
}

보다시피 arr의 변수의 값 하나하나를 순회한다.

그 값의 이름을 atom이라는 변수로 받는다.

즉 위의 코드는 arr라는 배열을 하나씩 순회해서 그 값을 atom이라는 변수로 사용하는 코드이다.

예제 코드의 결과는 아래를 보도록 하자.


제대로 실행됨을 확인할 수 있다.



'Programming > PHP' 카테고리의 다른 글

[Php-08]연관배열(AssociativeArray)  (0) 2018.05.15
[Php-07]배열(Array)  (0) 2018.05.15
[Php-06]switch문  (0) 2018.01.10
[Php-05]조건문  (0) 2018.01.10
[Php-04]연산자  (0) 2017.11.29

+ Recent posts