Programming/PHP

[PHP] 기본 사용법 및 제어문 정리

Rexter 2019. 3. 14. 22:37
반응형

참고 도서 : PHP & MySQL 닌자 비법서.


php 는 서버 사이드 스크립트라고 합니다... 서버 사이드 스크립트가 뭔가 해서 간단히 찾아 보니 서버 사이드, 서버 측에서 실행이 되는 언어. 라고 생각하면 편할 거 같네요. html은 웹 페이지를 불러 오면서 실행이 되지만 php 는 서버에서 실행이 된 후 결과가 전송된다고 생각하면 될 거 같네요.


0. php 의 전제조건(?)

php 는 앞서 말했듯 서버 쪽에서 실행이 되어야 합니다. 코드를 해석 해서 실행 할 수 있는 환경이 갖춰져야 된다는 거겠지요. APM 설치 및 설정을 먼저 하신 후 php 를 이용하시면 됩니다. MySQL의 경우에는 이용하지 않는 경우도 있겠지만, 웹서버를 하면서 db를 관리하지 않는 경우는 없을 걸로 보이네요.


1. 기본 문법


<!DOCTYPE html>

<html>

<head></head>

<body>

<div>

<?php

?>

</div>

</body>

</html>


의 구조를 가집니다.


2. 출력문

<?php 와 ?> 사이에 echo 'test'; 를 넣어 준 후 아파치가 설치 된 곳의 htdocs 폴더에 저장해서 불러와 보시면 test 라는 항목만 나오는 걸 볼 수 있을 겁니다.

echo 는 C로 따지자면 printf 와 같은 거라고 보시면 됩니다. 문법이 다르긴 하지만 역할 자체는 같다고 봐도 됩니다.


echo 'test';

는 test 라는 문자열을 출력하라는 의미입니다. ; 는 일반적인 코딩에서 쓰이는 의미와 같습니다. 하나의 명령어가 끝났다는 의미입니다.


3. 변수

$변수명 형태로 사용할 수 있습니다.

선언과 사용 모두 $을 붙여서 사용하면 됩니다.

$temp1 = 'test';

$temp2 = 12;

와 같은 방식으로 사용할 수 있습니다.

php 는 변수의 타입을 따로 지정하지 않아도 사용이 가능합니다. 가령 temp 라는 하나의 변수에 처음에는 문자열을 입력했다가 다음에는 숫자를 입력하더라도 사용에 지장이 없더군요.


4. 제어문(if)

if 의 사용법은 대부분의 언어와 비슷하거나 같습니다.

if(a==1){

}

과 같이 사용하시면 됩니다. if { } 의 뒤에 else 를 붙여서 사용하는 것도 마찬가지이고요.


5. 반복문

for문 while 문이 있습니다. 기본적인 사용법은 대부분의 언어와 같습니다.

for(조건){실행}

while(조건){실행}

둘 다 조건이 참일 동안에 실행된다는 점에서는 같고 특정 변수의 값을 변경시키면서 사용 할 때는 for 문을 쓰고 조건을 만족할 때까지 함수 등을 반복할 경우에는 while 문이 편한 거 같습니다. 어디까지나 개인적인 생각이니 그냥 그러려니 해 주세요. 저는 개인적으로 while 문 보다는 for 문을 선호하는 편입니다. 처음 배운게 for 라 그런 것 같기도 하네요.


6. 간단한 예제

대략적인 설명은 된 거 같으니 간단한 예를 들어 보겠습니다.


<!DOCTYPE html>
<html>
<head>
<?php
$name = '아무개';
?>
</head>
<body>
<div>
<?php
for($i = 0; $i < 10; $i++){
echo $name . $i . '<br>';
}
?>
</div>
</body>
</html>

와 같은 php 파일을 하나 만든 후 htdocs 폴더에 저장 한 후 localhost 든 다른 이름이든 아파치 서버로 설정해 놓은 경로를 브라우저를 통해 파일을 열어 주세요.

그러면

와 같은 화면을 볼 수 있습니다.

echo 에서 여러 변수 혹은 항목들을 출력하고 싶을 때는 연결하는 부분을 . 으로 연결해 주면 됩니다. , (쉼표) 가 아니라 . (점, 마침표, Dot) 입니다.


'<br>' 은 html 에서 사용되는 태그입니다. <?php ?> 의 앞뒤로 <div> </div> 가 보이시나요? div 태그는 문단 나누기를 지원하는 태그입니다. <br> 을 넣지 않으면 줄바꿈 없이 한줄에 표시하게 됩니다.

반응형