Loading

블로그채널

Search !

[PHP] 기본 자료형 Data Types


PHP 자료형 Data Types
변수는 서로 다른 자료형의 데이터를 저장할 수 있고 PHP는 아래와 같은 자료형을 지원합니다.

  • 문자열 String
  • 정수형 Integer
  • 실수형 Float
  • 논리형 Boolean
  • 배열 Array
  • 객체형 Object
  • 널 NULL
  • 리소스 Resource

해당 소스코드는 아래의 사이트를 참조하세요.
http://www.w3schools.com/php/php_datatypes.asp

 

[PHP] 기본 자료형 Data Types

[PHP] 기본 자료형 Data Types

 


PHP String
“Hello world!”처럼 문자열을 저장하는 용도로 쓰입니다.
‘Hello World!’처럼 작은따옴표도 가능하고 큰따옴표도 가능합니다.
 

 

$x = "Hello world!";
$y = ´Hello world!´;
 
echo $x;
echo $y;

 
PHP Integer
정수는 –2,147,483,648부터 +2,147,483,647까지 표현할 수 있습니다. 대충 –20억에서 +20억사이를 표현합니다. 32비트 운영체제에서 2^32(2의 32승)까지 기본 자료로 표현할 수 있습니다. 2^32이면 4,294,967,296(약 40억)인데요, 양수와 음수를 표현하기 위해 반반 나눈 것이지요. (2^32)/2 해서 반 2^31을 양수와 음수를 나누면 –2^31 ~ +2^31 –1 이 되는 것이지요. 0을 표현해서 +1부터 +2,147,483,648가 아닌 0부터 +2,147,483,647(+2^31 –1)가 된 것이지요. 


 

$x = 5985;
var_dump($x); // int(5985) 

 

var_dump 함수는 자료형과 값을 함께 나타냅니다.
 
PHP Float
실수형 데이터를 넣으면 PHP가 알아서 자동으로 실수형으로 저장합니다.

 

 

$x = 10.365;
var_dump($x);


PHP Boolean
Boolean은 논리형으로 2가지 참과 거짓 2가지 상태를 표현합니다. true와 false를 나타냅니다.

 

$x = true;
$y = false;

 
PHP Array
배열은 한 변수 안에 여러 개의 값을 저장할 수 있습니다.
예를 들어 요일을 저장할 때 하나의 변수 안에 모두 저장할 수 있습니다.

 

$day = array(“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”);
echo $day[0], $day[1]; // SundayMonday
 

 

배열 $day에서 해당 값에 접근하기 위해서 첫 번째 자료가 1이 아닌 0번으로 지정하여 사용합니다. day[0]은 Sunday값을 말하며 day[1]은 Monday값을 말합니다.
 
PHP Object
객체 지향형 언어(Object Oriented Programming)가 한때 새로운 패러다임의 프로그래밍으로 추앙받았습니다. 지금은 일반적인 프로그래밍의 형태로 자리 잡았습니다. 다음 시간에 class에 대해 쉽게 그리고 자세히 다루어보기로 하고 이번 시간에는 소개 정도만 하겠습니다.

class는 변수와 함수를 모아둔 일종의 자료형이라고 생각하시면 됩니다. 서로 연관이 있는 같은 부류의 변수와 함수를 모아둔 것이지요. class가 ‘분류하다’라는 뜻이 있지 않습니까? 같은 부류 같은 종류의 변수 함수를 함께 모아둔 겁니다. 이렇게 모아두면 다른 부류의 변수와 함수가 서로 영향을 받지 않기 때문입니다. 체계적으로 잘 분류해놓은 자료형의 한 형태로 볼 수 있습니다. 
 

class Car {
    var $model = "VW";
    function getModel() {
        return $this->model;
    }
}

 

 

위 예제는 변수 $model과 함수 getModel을 함께 클래스 안에 묶었습니다. 여기서 this라고 표시한 이유는 getModel 안에서 $model이라고 하면 새로운 변수가 되기 때문에 클래스 안에 있는 $model 변수를 정확하게 지정해준 것이지요. 클래스 안에 있는 멤버 변수를 사용하기 위해서는 반드시 this라는 용어를 사용해야합니다.   

// create an object
$herbie = new Car;
// show object properties
echo $herbie->getModel();

 

 

클래스 Car는 변수가 아니라 새로운 자료형입니다. 사용자가 만들어낸 새로운 자료형이라고 볼 수 있습니다. 클래스 Car라는 새로운 자료형을 표현하는 새로운 데이터(객체)를 만들어 줘야합니다. 그럴 때 new라는 키워드를 사용합니다. 클래스가 자료형이라고 표현했는데요, Car라는 새로운 자료형을 만들어 달라고 요청하는 것이 new입니다.


$herbie = new Car; 새로운 데이터(객체)가 나오면 herbie안에 넣겠다는 이야기이지요. herbie는 변수인데 새로운 데이터, 즉 객체를 가지고 있는 변수이지요.

 

새로운 객체(인스턴스)의 멤버함수(메소드)를 호출하면 리턴 값으로 모델명이 나옵니다. 그 값을 echo로 출력하는 것이지요.


echo $herbie->getModel(); 변수 $herbie가 지칭하는 것은 새로운 객체입니다. 이 객체의 멤버함수(클래스 안에 있는 함수)를 접근하기 위해서는 -> 화살표를 사용해야하고 화살표로 접근 후 함수를 호출할 수 있습니다.

 

클래스 개념은 처음 접하면 조금 어려울 수 있는데요, 다음 시간에 클래스 개념을 쉽게 설명하겠습니다. 익숙하면 별 것 아닙니다. 익숙하지 않아서 어려울 뿐이죠. 
 
PHP NULL Value
변수의 값을 해제시키고 싶을 때 null을 사용합니다. 변수에 큰 데이터를 넣었습니다. 너무 많은 메모리를 사용했어요. 그래서 사용 후 필요 없는 변수의 데이터를 메모리에서 해제하고 싶을 때 사용합니다. 그럴 때 사용하는 게 null입니다. 

$x = "Hello world!";
$x = null;
var_dump($x);

unset 함수는 null과 비슷하지만 변수 안에 있는 데이터뿐만 아니라 변수 자체도 메모리에서 삭제됩니다. unset도 함께 알아두시면 좋겠네요.
  
리소스 Resource
데이터베이스를 호출 할 때 사용하는 자료형이라고 합니다. 나중에 다루게 될 거라고 하네요.
 
다음 시간에는 클래스에 대해 쉽게 설명하겠습니다. 

 

읽으신다고 고생하셨습니다.

 

[Copyright ⓒ 블로그채널 무단전재 및 재배포 금지]