728x90

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


참고:

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

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


전 시간에 여러분들은 if문과 else문, else if문을 배웠다.

그러나 분기문은 한개가 더 존재한다.

바로 특수한 상황에서 사용할 수 있는 switch문이다.


예를 들어서 전시간에 말했던 90점이상은 수, 80점 이상은 우, 70점 이상은 미, 60점 이상은 양, 나머지는 가라고 쓰고싶다.

그러면 아래와 같이사용하면 된다.


<head>
    <meta charset="utf-8">
</head>
<?php
$score = 87;
switch ((int)($score / 10)) {
case 9:
echo '수';
break;
case 8:
echo '우';
break;
case 7:
echo '미';
break;
case 6:
echo '양';
break;
default:
echo '가';
}

위의 3줄은 화면에 한글을 출력하기위에 추가한 html코드이다.

여기서 int라는 처음보는 문자가 보이는데 이녀석의 역활은 여러분이 구한 값을 정수로 바꿔준다.

정수로 버리는 방법은 나머지를 버리는 것이다.

해당 코드를 시행하면 해당 점수대의 값이 나오게 된다.


switch(변수){

case 값1:

syntax1;

break;

case 값2:

syntax2;

break;

...

case 값n:

syntax(n);

break;

default:

syntax(n+1)

}

default는 어떠한 캐이스도 안됬을때 행하는 디폴트 행위이다.

만약 여러분의 점수가 50점대 이하라면 default가 시행될 것이다.


여기서 각가의 케이스 마다 break가 있다.

이 break구문이 의미하는 바는 해당 케이스만 실행하고 종료해라는 것이다.

만약에 break가 없다면 해당 케이스에 진입한 후 아래의 모든 케이스를 실행하게 된다.

백문이불여일견이다. 한번 실행해보자.


<head>
<meta charset="utf-8">
</head>
<?php
$score = 87;
switch ((int)($score / 10)) {
case 9:
echo '수';
case 8:
echo '우';
case 7:
echo '미';
case 6:
echo '양';
default:
echo '가';
}

모두 break를 제거 했다. 이제 시행해보자.


보다시피 87점은 우에 해당한다.

그런데 우만 출력되는게 아니라 아래 케이스까지 모두 출력된다.

즉 switch문은 해당 case를 찾고 아래의 모든 케이스를 출력하는게 보통의 일이다.

그러나 이러한 방법은 보통 잘 쓰지 않는다.

그래서 보통의 경우 멈춰주기 위해서 break문을 건다.

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

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

+ Recent posts