본문 바로가기

제대로알자, SW/웹 프로그래밍

웹 프로그래밍 입문(3) - PHP 기본 문법



2번째 포스팅을 통해 PHP 개발 및 디버깅 환경을 설정하고 Hello World 까지 출력되는 것을 확인했다.

오늘은 3번째 시간으로 기본적인 PHP 문법에 대해 간단하게 공부해 볼 생각이다.

PHP는 C언어와 펄에 기반을 둔 간단한 언어이기 때문에 C언어에 대한 이해가 있을 경우 쉽게 접근할 수 있다.

아는 내용이라도 익숙해지기 위해 간단하게라도 정리해 놓을 생각이다.


1. 변수 선언 및 사용

- 변수의 선언은 $기호를 사용한다.

- 변수는 대입 값에 의해 그 형이 결정된다.

- echo는 출력 키워드.

- 세미콜론(;)으로 명령어의 끝을 지정하는 것은 C언어와 동일하다.

- 변수 확인 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
    //1. 문자열 변수
    $username = "Fred Smith";
    echo $username;
    
    //2. html 태그를 echo로 출력할 수 있다.
    echo "<br>";
    //3. 다른 변수에 값 할당하기
    $current_user = $username;
    echo $current_user;
    echo "<br>";
 
    //4. 숫자변수
    $A = 17;
    $B = 17.5;
 
    //5. 덧셈 후 다른 변수에 저장
    $C = $A + $B;
    echo $C;
?>
cs


- 실행 결과

- 변수 명명 규칙

  ① 변수의 시작은 알파벳이나 밑줄로 해야 한다.

  ② 변수명에는 a-z와 A-Z, 0-9, 밑줄만 쓸 수 있다.  

  ③ 변수명에는 공백을 넣을 수 없다.

  ④ 변수명은 대소문자를 구분한다. $High_Score는 $high_score와 다르다.


2. 배열의 선언

- array(); 의 형태로 사용

- 배열의 시작 index는 0이다.

- 배열 선언 예제

1
2
3
4
5
6
7
8
9
10
11
<?php
    //1. 문자열 배열
    $username = array"Bill""Marry""Mike""Chris""Anne" );
    echo $username[3];
    echo "<br>";
    //2. 2차원 배열
    $numbers = arrayarray012 ),
                array345 ),
                array678 ) );
    echo $numbers[1][2];
?> 
cs


- 실행 결과



3. 연산자 정리

1) 산술 연산자

- C언어와 동일

- 산술 연산자 테스트

1
2
3
4
5
6
7
8
9
10
11
<?php
    $a = 20;
    $b = 10;
    echo $a + $becho "<br>";
    echo $a - $becho "<br>";
    echo $a * $becho "<br>";
    echo $a / $becho "<br>";
    echo $a % $becho "<br>";
    echo ++$aecho "<br>";
    echo --$becho "<br>";
?>
cs


- 실행 결과


2) 대입 연산자

- C언어와 동일

- 대입 연산자 테스트

1
2
3
4
5
6
7
8
9
10
<?php
    $a = 20;
    $b = 10;
    $c = 5;
    echo $c += $aecho "<br>";
    echo $c -= $aecho "<br>";
    echo $c *= $becho "<br>";
    echo $c /= $becho "<br>";
    echo $c %= 2echo "<br>";
?> 
cs


- 실행 결과


3) 비교 연산자

- C언어와 동일

- 비교 연산자 테스트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    $hour = 11;
            
    if($hour != -1) {
        echo "시간 값이 입력되었습니다.";
    }
    echo "<br>";
            
    if($hour == 12) {
        echo "점심 식사 시간입니다.";
    }
    else if($hour >= 13) {
        echo "점심 식사 시간이 종료되었습니다.";
    }
    else if($hour < 12) {
        echo "아직 점심 식사 전입니다.";
    }
?>
cs


- 실행 결과


4) 논리 연산자

- 크게는 C언어 문법과 동일하다.

- and, or, xor과 같이 바로 사용할 수 있으며, 이에 따라 우선순위가 달라지는 점이 다른 점이라 할 수 있다.

 연산자

설명 

예제 

&&

and

$j == 3 && $k == 2

and

낮은 우선순위 and

$j == 3 and $k == 2

||

Or

$j < 5 || $k > 10

or

낮은 우선순위 or 

$j < 5 or $k > 10

!

 Not

!($j)

xor

Exclusive or

$j xor $k


5) 문자열 연결 연산자

- 마침표(.)를 사용하면 문자열을 연결할 수 있다.

- 문자열 연결 연산자 테스트

1
2
3
4
5
6
7
8
9
<?php
    $a = 21;
    $b = 27;
    echo $a . " + " . $b . " = " . ($a + $b) . "<br>";
            
    //다른 예제
    $msgs = 5;
    echo "You have " . $msgs . " messages.";
?>
cs


- 실행 결과


4. 문자열 타입

- PHP에는 인용 부호로 표현되는 문자열이 두 종류다.

- 정확한 내용을 유지하는 문자 그대로의 문자열을 할당하려면 작은 따옴표(' ')를 사용한다.

- 반면에 문자열 내에 변수의  값을 넣고 싶으면 큰따옴표(" ")를 사용한다.

- 문자열 타입 테스트

1
2
3
4
5
6
7
8
<?php
    $like = 1;
    $variable = 2;
    $count = 3;
    echo 'Preface variables with a $ like this: $variable';
    echo  "<br>";
    echo "There have been $count presidents of the US";
?> 
cs


- 실행 결과


5. 다중 라인 명령

- PHP에서는 꽤 많은 문장을 출력해야 하는 경우가 생긴다. (경우에 따라 html 코드 전체)

- 따라서, 따옴표 안에 다중 라인을 넣는 것이 허용된다.

- 또한, heredoc(here-document)으로 표현되는 <<<연산자를 이용한 다중 라인 문장도 제공한다. heredoc은 작은따옴표와

  비슷하게 문자 전체를 입력한 대로 표현해 준다.

- 다중 라인 명령 테스트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    $author1 = "Steve Ballmer";
    echo "Developers, Developers, developers, developers, developers,
        developers, developers, developers, developers!
        - $author1.<br><br>";
          
    $author2 = "Bill Gates";
           
    echo <<<_END
    Debugging is twice as hard as writing the code in the first place.
    Therefore, if you """""write""""" the code as cleverly as possible, you are,
    by definition, not smart enough to debug it.
            
    - "$author2."
_END;
?> 
cs


- 실행 결과


6. 변수 형식 지정

- PHP는 굉장히 느슨한 유형의 언어이다.

- 변수가 사용되기 전에 선언될 필요가 없으며, PHP 문장에서 요구되는 형식으로 변환한다.

- 예제

1
2
3
4
5
6
7
8
9
10
11
<?php
    $number = 12345 * 67890;
    echo $number . "<br>";
    echo substr($number31);
            
    echo "<br><br>";
            
    $pi = "3.1415927";
    $radius = 5;
    echo $pi * ($radius * $radius);
?>
cs


- 실행 결과

- 결과에서 보는 것처럼, 첫번째 예에서는 숫자 number에 대해 substr으로 4번째 문자열인 1을 가져올 수 있다.

- 반대로 문자열로 선언한 pi를 통해 숫자 계산이 가능하다.


7. 상수

- 상수 선언 테스트

1
2
3
4
5
<?php
    define("ROOT_LOCATION""/usr/local/www/");
    $directory = ROOT_LOCATION;
    echo $directory;
?> 
cs


- 실행 결과