웹마스터 팁

다음장은 당연히 Type - 변수형에 관한 겁니다. 사실 이부분은 제가 안해도 수많은 분들이 이미 강의를 해주셨지만... -_-;; 혼자놀기의 진수를 보여드리기 위해서, 다시 한번 짚고 넘어가도록 하겠습니다.

PHP에서 사용되는 변수형은,

boolean(불린형 - true/false), integer(정수형 - 1,2,3,4), float(실수형 - 1.2323, 2.44133, 4.5542 - double 과 같음), string(문자열형 - "행복한고니", "Test")

array(배열형), object(객체형)

resource(리소스), NULL(널)

그리고 매뉴얼에서 함수정의형으로 사용하는...
mixed(반환값의 형태가 여러종류), number(숫자형 - 정수 혹은 실수), callback(불러오는 함수)
저것들이 어떤 것인지는 차차 알아가게 될 것입니다. ^^;;
자세한 것은 예전에 한꼬마님이 올리신 게 있으니 그 부분을 보시라고 링크해드립니다.

http://www.nzeo.com/bbs/zboard.php?id=p_study&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=변수&select_arrange=headnum&desc=asc&no=462

자자... 그럼 우리는 다시 혼자 공부하는 법을 알아봐야죠. 누구도 가르쳐 주지 않은... ^^;;

불린형.. 그러니까 True/False 만 존재하는 형태의 진짜 값은 얼마일까요? 실제로 불린이라는 형태는 존재하지 않는 것일지도 모릅니다. 왜냐구요? 다음 문장을 실행시켜보면 이유를 알 수 있습니다.

<?php
$bool = true; //true, false 는 예약어이며, 대소문자를 구분하지 않습니다.
echo $bool;
?>

어떤 결과가 나오는지 보셨죠? 결국 불린이라는 형태는 "1"과 "없다"의 차이일 뿐입니다. false 값은 0이 아닌 "없는" 값... 즉, NULL형입니다. 쉽게 말하면 無라고 보는 거죠. ^^

자... 그럼 integer 정수형입니다. 정수가 뭔지 모르시는 분은 없겠죠?
바로 -1, 0, 1, 3, 4 등을 정수라고 말합니다...라는 정의야 수도 없이 봐왔을테니까... 혼자 공부하기는 그런거 안보고 다른 거를 봅니다. 이미 이쯤되면 알아서 매뉴얼의 Types - Integers 를 펴고 있겠죠? 그럼 매뉴얼에 있는 부분을 옮겨옵니다.

<?php
$a = 1234; # 10진수
$a = -123; # 음수
$a = 0123; # 8진수
$a = 0x1A; # 16진수
?>

8진수와 16진수의 의미도 쉽습니다. 10진수의 의미가 10이 되면 새로운 자리를 추가하는 것이듯이, 8진수는 8에서, 16진수는 16에서 추가하는 것입니다. 그리고, 숫자가 0부터 9까지 밖에 없기때문에 A(10), B(11), C(12), D(13), E(14), F(15) 와 같이 영문자로 숫자를 추가시켜준 것입니다. 8진수와 16진수를 표현하기 위한 방법은 각각 숫자앞에 숫자0과 숫자0, 영문자x 를 붙이는 방법입니다. 하지만 결국 저장은 10진수로 되기 마련이죠. 다음 소스를 실행해보세요.

<?php
$a = 0x1A;
echo $a;
?>

결과는 해보시면 알겠죠? ^^;
문자형을 정의할 때는 흔히 큰따옴표(") 를 쓰지만, 실은 이것말고도 두가지 방법이 더 있습니다. 바로 작은따옴표와 heredoc(해석이 안되네요. -_-) 방식입니다.

1. 작은 따옴표 - 매뉴얼에는 간단한 문장을 출력할 때 쓰며, 이스케이프 문자가 큰따옴표일때보다 적다...고 나옵니다. 무슨 의미이신지 모르겠죠? 이스케이프 문자라는 것은 을 의미합니다. 특수한 문자를 표현할 때(예를 들면 줄바꿈같은...) 쓰는 거죠. 다음 문장을 실행해보면 작은 따옴표의 의미를 아실 겁니다.

<?php
header("Content-Type: text/plain"); //이 부분은 신경쓰지 마세요.

$str1 = 'This is a Test n including new line.';
$str2 = "This is a Test n including new line.";

echo $str1;
echo $str2;
?>

큰 따옴표에서는 n이 줄바꿈으로 인식이 되지만 작은따옴표로 묶은 문장에서는 그렇지 않습니다. 작은 따옴표에서 쓰이는 이스케이프 문자는 ' 으로 문장안에서 작은 따옴표를 표현하는데 쓰입니다.

2. 큰 따옴표 - 다양한 이스케이프 문자를 지원합니다.
n - 줄바꿈, r - 캐리지 리턴, t - 탭, - 을 표현함, $ - $를 표현함, " - "를 표현함
100 - 8진수로 해당하는 아스키 코드를 출력(8진수 100 = 10진수 64 = 문자 @)
x44 - 16진수로 해당하는 아스키 코드를 출력(16진수 44 = 10진수 68 = 문자 D)

3. Heredoc - <<< 로 지정한 문자가 나올때까지 전부 문자열로 인식합니다.

<?php
header("Content-Type: text/plain"); //이 부분은 신경쓰지 마세요.

$str = <<<END
여러줄도 가능하고...
큰 따옴표도 가능하고 "
작은 따옴표(')도 가능합니다.
큰 따옴표에서 쓰인 이스케이프 문자도 모두 사용가능합니다.
END;

echo $str;
?>


이제는 오늘의 과제... ^^;;
바로 위 문장에서 $str을 사용하지 않고 바로 echo 문을 heredoc 방식으로 출력해보세요. 참고로. 큰 따옴표일때는... echo "This is a test"; 와 같이 출력할 수 있었습니다.