본문 바로가기
개발 기초/PHP

PHP - 데이터 타입

by 륀두 2020. 4. 22.
반응형

데이터 타입(data type)이란 프로그램에서 다룰 수 있는 데이터 값의 종류를 말합니다.

PHP에서는 여러 가지 형태의 타입을 미리 정의하여 제공하고 있으며, 이것을 기본 타입이라고 합니다.

PHP가 제공하는 기본 타입은 다음과 같습니다.

  1. 문자열(string)
  2. 정수(integer)
  3. 실수(float)
  4. 배열(array)
  5. 불리언(boolean)
  6. 객체(object)
  7. 리소스(resource)
  8. NULL

1. 문자열(string)

문자열은 말그대로 문자로 이루어진 데이터를 의미합니다.

 

<?php

echo "string"; //string
echo 'string'; //string
echo string;
//Warning: Use of undefined constant string - assumed 'string' (this will throw an Error in a future version of PHP) in C:\Bitnami\wampstack-7.2.29-2\apache2\htdocs\index.php on line 6

?>

세 번째 echo string; 은 오류를 출력합니다.

따옴표( " ", ' ' )로 감싸지 않은 데이터는 에러가 나오므로 문자열을 처리할 때에는 꼭 따옴표로 감싸주어야 합니다.

문자와 문자를 서로 연결하고 싶다면 마침표( . )를 사용하여 연결해줍니다.

 

<?php

$a = "Hello";
$b = "World";

echo "Hello World"; //Hello World
echo $a . $b; //HelloWorld

?>

마침표로 문자열을 연결하면 공백없이 연결하기 때문에 공백을 원한다면 따로 삽입해주어야 합니다.

echo $a . " " . $b; //Hello World

2. 정수(integer)

정수는 소수점이 없는 수를 의미합니다.

다음과 같은 코드를 작성 후 출력해봅니다.

<?php

$a = 3;
$b = 5;
$c = $a + $b;
$d = 3+5;
$e = "3+5";

echo $c; //8
echo $d; //8
echo $e; //3+5

?>

변수 $c와 $d는 똑같은 값이 출력되고 $e는 수식이 출력되는 것을 확인할 수 있습니다.

이는 " " 로 감싸는 데이터는 모두 문자열로 반환하기 때문에 쓰여진 그대로 출력하는 것이고 감싸져 있지 않은 정수 데이터는 프로그래밍 언어가 자동으로 계산하여 결과값을 출력하기 때문입니다.

3. 실수(float)

실수는 소수점을 가지고 있는 수를 의미하며 정수보다 넓은 표현범위를 가집니다.

<?php

$a = 3; //정수(integer)
$b = 3.14; //실수(loat)

echo $a + $b; //6.14(float)

?>

4. 배열 (array)

배열(array)은 한 쌍의 키(key)와 값(value)으로 이루어진 데이터 타입입니다. 키값으로는 정수와 문자열만 가능하며, 하나의 배열에 두 가지 키값을 같이 사용할 수 있습니다. 만약 정수와 문자열 이외에 다른 타입의 값을 키값으로 사용하면, 내부적으로 다음과 같이 타입 변환이 이루어집니다.

  • 불리언은 true는 1로, false는 0으로 자동 타입 변환됩니다.
  • 유효한 숫자로만 이루어진 문자열은 정수나 실수로 자동 타입 변환됩니다.
  • 실수는 소수 부분이 제거되고, 정수로 자동 타입 변환됩니다.
  • NULL은 빈 문자열("")로 자동 타입 변환됩니다.
  • 배열과 객체는 배열의 키값으로 사용할 수 없습니다.

배열의 선언은 다음과 같습니다.

$arr = array(); //배열생성

$arr[0] = "apple";  // 배열 요소 추가
$arr[1] = "banana";
$arr[2] = "orange";

또한 선언과 동시에 요소를 추가할 수도 있습니다.

$arr= array("apple", "banana", "orange");

echo $arr[0]; //apple
echo $arr[1]; //banana
echo $arr[2]; //orange

배열을 출력할때 키 값이 없으면 정수를 사용하여 값을 출력합니다.

첫번째 값은 0 으로 시작합니다. 배열의 세번째 값은 $arr[2] 로 출력할 수 있습니다.

키값을 가지는 배열의 생성과 출력은 다음과 같습니다.

$arr = array( "key1" => "value1", "key2" => "value2", ...);

echo $arr["key1"]; //vaule1
echo $arr["key2"]; //value2
...

또한 배열 안의 배열을 다시 선언할 수도 있습니다.

$arr = array("value1", "value2", array("second value1", "second value2"));

echo $arr[2][1]; //second value2

5. 불리언(boolean)

불리언은 참(true)과 거짓(false)으로 표현되는 데이터타입입니다.

다음 값들은 불리언타입으로 변환하면 모두 false로 인식됩니다.

  • 불리언 : false
  • 정수 : 0
  • 실수 : 0.0
  • 빈 문자열과 문자열 "0"
  • 빈 배열
  • NULL

이 외의 값은 모두 true로 인식됩니다.

6. 객체(object)

객체(object)는 클래스의 인스턴스(instance)를 저장하기 위한 타입입니다.

이러한 객체는 프로퍼티(properties)과 메소드(methods)를 포함할 수 있습니다.

7. 리소스(resource)

리소스(resource)는 PHP 외부에 존재하는 외부 자원을 의미합니다.

이러한 리소스는 데이터베이스 함수 등에서 데이터베이스 연결 등을 반환할 때 사용됩니다.

8. NULL

NULL은 오직 한 가지 값(NULL 상수)만을 가질 수 있는 특별한 타입입니다.

NULL 타입의 변수란 아직 어떠한 값도 대입되지 않은 변수를 의미합니다.

반응형

'개발 기초 > PHP' 카테고리의 다른 글

PHP - 대입 연산자  (0) 2020.04.23
PHP - 산술 연산자  (0) 2020.04.23
PHP - 타입 변환  (0) 2020.04.23
PHP - 변수  (0) 2020.04.22
PHP - 개발환경 설정하기  (0) 2020.04.22