Web 관련/PHP

PHP #3_ 기본 문법, 구구단 출력하기

Tigercow.Door 2017. 12. 4. 23:57



안녕하세요. 오랜만에 PHP에 대해서 포스팅을 합니다.

지난 포스팅에서 Bitnami를 이용한 php설치까지 진행하였습니다.

이번 포스팅을 시작으로 php에 대한 문법적인 이야기나, 기타 실습 예제를 진행해보겠습니다.

오늘은 php의 기본 문법과 간단한 구구단 출력 예제를 진행해보겠습니다.


1. PHP 기본 양식


php 문서에서 php문장을 시작하고 끝난다를 표시하는 기호가 있습니다.

바로 '<?php' 와 '?>' 입니다.

해당 표시 사이에 php문법에 맞는 코드가 입력될 것이며, 해당 표시 사이에 들어간 코드는 php양식에 맞게 해석될 것입니다.

또한 문장의 끝은 ;(세미콜론)으로 종료를 시켜야합니다.


php는 html과 매우 유동적으로 사용이 가능합니다.

먼저 다음과 같이,

<html ~

<?php ~ php 코드 ?>

~ html>

html 코드 내부에 php문장 표시로 이용될 수도 있으며


<?php~

echo (" html 코드 ");

~?>

php 코드 내부에 html코드를 입력할 수도 있습니다.


물론 php가 포함된 코드이기 때문에 파일의 확장자는 .php로 되어야 합니다.

추가적으로, php에서는 주석을 // 또는 /* */로 이용합니다.



2. PHP 변수


php에서는 다른 언어와 달리 변수에 대한 자료형을 정의하지 않습니다.

변수에 대한 값을 입력하면 자동으로 자료형이 설정되는 것이죠.

그리고 변수 앞에는 달러($)표시를 붙여서 변수를 나타냅니다.

a라는 변수에 숫자 3을 입력한다면 다음과 같이 되겠습니다.

$a = 3;

변수의 자료형을 정의하지 않는 것은 배열에서 또한 마찬가지 입니다.

$b[0] = 1;

$b[1] = "Hello";



3. if / while / for / switch


php에서도 다른 언어와 같이 제어문과 반복문이 존재합니다.

그 구조와 쓰임이 거의 동일하기 때문에 간단히 살펴볼게요.


3-1. if문

if문을 이용해 조건을 검사하여 실행할 문장을 입력할 수 있습니다.

기본형태는, if(조건){문장}else if(조건){문장}else{문장} 입니다.

else if는 앞의 if문과 나머지 else if문이 거짓일때 실행되는 것으로 여러 번 입력할 수 있습니다.

else는 앞의 if 또는 else if문이 모두 거짓일 경우 실행되는 것입니다. 생략이 가능합니다.


if(a==3){

echo "a는 3입니다.";

}else if(a=="삼"){

echo "a는 삼입니다.";

}else{

echo "a는 뭘까요?";

}


3-2. while문

while 문은 조건이 만족하지 않을 때 까지 문장을 반복합니다. 다시 말해서 조건의 결과가 참이라면 계속 실행되고 조건의 결과가 거짓이라면 반복을 멈춥니다.

기본 형태로는, while(조건){문장} 입니다.

$a = 1;

while($a <=10){

echo a;

a++;

}


또한 while문은, do - while문으로 이용될 수 있습니다.

기본형태로는, do{문장}while(조건) 입니다.

while문은 조건을 확인했을 때 참이면 문장을 실행하지만, do-while문은 먼저 문장을 실행하고 조건이 참인지 확인합니다.


3-3. for문

for문의 기본 형태는, for(기준변수 ; 변수에 대한 조건 ; 증감형태 ){문장} 입니다.

기준변수를 설정하고 해당 변수에 대한 조건이 참일 때 문장을 실행합니다. 한번의 문장실행이 완료되면 증감형태에 따라 변수의 값이 증가하거나 감소됩니다.


for($i = 1; $i <= 10; $i++){

echo i;

}


3-4. switch문

switch문의 기본형태는, switch(변수){case(값1):{문장} case(값2):{문장} ... } 입니다.

if문과 비슷하나 하나의 변수에 대한 케이스분류를 보다 용이하게 구현할 수 있습니다.



4. echo


보통 C언어에서는 무언가를 출력하기 위해서, printf("내용"); 을 사용하거나 Java에서는 System.out.println("내용");, python에서는 print("내용") 과 같은 방식을 사용합니다.

php에서 또한 print를 사용할 수 있지만 echo라는 것이 자주 이용됩니다. echo에 대한 설명은 공식문서에 잘 나와 있기에 이를 첨부하여 대체하겠습니다.


<?php
echo "Hello World";

echo 
"이것은 여러
줄을 표현합니다. 물론 줄바꿈도 
출력합니다."
;

echo 
"이것은 여러\n줄을 표현합니다. 물론 줄바꿈도\n출력합니다.";

echo 
"문자 이스케이프는 \"이렇게\" 합니다.";

// echo 구문 안에 변수를 사용할 수 있습니다.
$foo "foobar";
$bar "barbaz";

echo 
"foo는 $foo"// foo는 foobar

// 배열을 사용할 수도 있습니다.
$baz = array("value" => "foo");

echo 
"이것은 {$baz['value']} !"// 이것은 foo !

// 작은 따옴표는 변수값이 아닌, 변수명을 출력합니다.
echo 'foo는 $foo'// foo는 $foo

// 다른 문자를 사용하지 않는다면, 바로 변수를 echo할 수 있습니다.
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// 몇몇 사람들은 결합 echo보다 복수 인수 사용을 선호합니다.
echo 'This ''string ''was ''made ''with multiple parameters.'chr(10);
echo 
'This ' 'string ' 'was ' 'made ' 'with concatenation.' "\n";

echo <<<END
이는 $variable 삽입을 가지는 여러 줄을
출력하는 "here document" 구문을 사용합니다. here
document 종료어는 줄에 세미콜론만을 가지고 있어야
하며, 어떠한 공백도 없어야하는 점에 주의하십시오!
END;

// echo는 함수처럼 작동하지 않기에, 다음 코드는 유효하지 않습니다.
($some_var) ? echo 'true' : echo 'false';

// 그러나, 다음 예제는 작동합니다.
($some_var) ? print 'true' : print 'false'// print도 구조이지만, 함수처럼
                                            // 작동합니다. 그러므로
                                            // 이 문맥에서 사용할 수 있습니다.
echo $some_var 'true''false'// 구문을 변경하여 처리
?>

출처: http://php.net/manual/kr/function.echo.php



5. 구구단 출력하기


위에서 php에 대한 간단한 구문들에 대해 알아보았는데 이러한 내용들을 응용하여 구구단 출력을 한번 해보도록 하겠습니다.

처음엔 2단부터 9단까지의 구구단을 출력하고, 원하는 숫자를 입력했을 때 해당하는 구구단이 출력되도록 하겠습니다.


먼저 2단에서부터 9단까지의 구구단을 출력하는 코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<?php
 
echo "<h1>Ex. 구구단 출력하기</h1>";
 
for($i=2;$i<=9;$i++){
    echo $i."단 입니다.<br/>";
    for($j=1;$j<=9;$j++){
        echo $i." X ".$j." = ".($i*$j)."<br/>";
    }
    echo "<br/>";
}
 
?>
</body>
</html>
cs



다음은 사용자가 원하는 숫자를 입력했을 때, 이에 맞는 구구단을 출력해주는 코드입니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <h1>Ex. 사용자가 원하는 구구단 출력하기</h1>
    <form method="POST" action="inputGugudan.php">
        <li>구구단을 보고 싶은 숫자를 입력하고 제출을 누르세요.</li>
        <input type="text" name="input"/><br/>
        <input type="submit" name="answer">
    </form>
<?php
if (isset($_POST['input'])){
    $num = (int)($_POST['input']);
    echo $num."단 입니다.<br/>";
    for($j=1;$j<=9;$j++){
        echo $num." X ".$j." = ".($num*$j)."<br/>";
    }
    echo "<br/>";
}
 
?>
</body>
</html>
cs



이렇게 해서 php에 대한 간단한 문법과 예제를 진행하였습니다.

코드에서 잘못된 부분이 있거나 질문있으신 분들은 언제든지 댓글을 남겨주세요 :)

728x90