본문 바로가기
소프트웨어 개발/PHP

[PHP 기초강좌] PHP 데이터 유형 (PHP Data Types)

by 인생은즐겁게 2023. 2. 4.
반응형

데이터 유형은 변수가 저장할 수 있는 데이터 유형을 정의합니다. PHP는 총 8가지 유형의 데이터유형이 있으며 크게 3가지로 분류합니다. 사전 정의 데이터 유형, 사용자 정의 데이터 유형, 특수 데이터 유형 등이 있습니다.

 


1. 사전 정의 데이터 유형

 

1.1 Boolean

 

true 또는 false 값 등을 정의 합니다. 조건식이 활용되는 제어 구조에서 사용됩니다.

<?php
// Your code here!

$trueOrfalse = true;

echo ( $trueOrfalse === true )? "참이네요" : "거짓이네요"; //결과 : 참이네요
?>

 

1.2 Integer

 

 Integer는 정수형 데이터를 취급합니다. 양의 정수, 음의 정수를 취급하며,  소수부의 수는 취급하지 않습니다.  아래 표는 Integer의 기수별 표현 범위와 사용 방식에 대해서 정리를 하였습니다. 변수의 표현 범위는 시스템 OS 따라서 크기가 다르기 때문에 PHP_INT_SIZE 확인을 해야 알 수 있습니다. 아래 표는 32bit 시스템 기준으로 크기를 정리 하였습니다.

기수 양식 표현 범위 사용 방식
10 진수 -2147483647 ~ 2147483647 $deci = 50; //50
16 진수 -7FFFFFFF ~ 7FFFFFFF $hexnum = 0x4C; //76
8 진수 -17777777777 ~ 17777777777 $octal = 011; //9

 

<?php


$deci = 50; //50

echo "deci : ".$deci."<br/>";  //50 10진수

$hexnum = 0x4C; //76

echo "hexnum : ".$hexnum."<br/>";  //76 16진수

$octal = 011; //9


echo "octal : ".$octal."<br/>";  //9 8진수


echo PHP_INT_SIZE;

 

 

 

1.3 Double

 양수와 음수 또는 지수 형태의 숫자를 포함하여 정수가 아닌 유리수 또는 소수 부분을 포함하는 숫자를 저장할 수 있습니다.  다음 예제를 확인해 보면 float 형태와 동일하다는 것을 알 수 있습니다.

<?php
 
$fdata1 = 30.25;
$fdata2 = 21.26;
 

 
echo $fdata1 + $fdata1;
echo "\n\n";
 
//returns data type and value
var_dump($fdata1 + $fdata1); //float 60.5
   
?>

<그림 1> float형태 결과 화면

 

1.4 문자열 - String

 

 

String은 일련의 문자이며,  String은 큰따옴표(" ") 작은따옴표(' ')로 작성합니다.  큰따옴표로 선언한 방식과 작은따옴표로 선언하는 방식의 차이점이 있습니다. 아래 예제를 참고해 보시면 작은따옴표 사용 시 변수명을 그대로 출력하고 있고 큰따옴표는 변숫값을 출력하고 있습니다.

<?php
 
$food = "불고기";
echo "한국요리 $food <br>";
echo '한국요리 $food ';
echo "<br><br/>";
 
//returns data type, size and value
var_dump($food);

<그림 2> 문자열 예제 결과 화면


2. 사용자 정의 데이터 유형

 

2.1 배열 Array

 

 배열은  여러 값을 저장할 수 있는 복합 데이터 유형입니다. 여러 값을 저장을 하다보니 그에 대한 접근 방식이 필요합니다. PHP 배열은 key로 접근하여 값을 가져오는 방식입니다. key 지정 방식은 Integer 데이터 유형과 String 데이터 유형으로 지정하여 접근할 수 있습니다.

 

Integer 방식으로 Key 지정)

<?php
 
$food[0] = "피자";
$food[1] = "햄버거";
$food[2] = "김치찌개";

var_dump($food); 
?>

 

String 방식으로 Key 지정)

<?php

$food["f01"] = "피자";
$food["f02"] = "햄버거";
$food["f03"] = "김치찌개";

var_dump($food); 
?>

<그림 2> Integer 방식 Key지정 결과 화면


2.2 객체 Object

 

 객체는 데이터, 메서드(method), 클래스 등을 취급하는 데이터 유형입니다. PHP의 다른 데이터 유형과 달리 객체는 명시적으로 선언되어야 합니다. 객체에 대한 설명은 이것으로 끝나는 분량이 아니라 다음 강좌에 심층적으로 다루어 보도록 하겠습니다.

 

<?php 
class Chef
{
    function make_pizza()
    {         
    	echo "맛있는 피자 만들었다.";
    }
}

$chef = new Chef();
$chef->make_pizza(); 
?>

<그림 3> 객체 예제 결과 화면

 

 


3. 특수 데이터 유형

 

3.1 NULL

 

 NULL은 변수에 값이 존재하지 않다는 것을 나타냅니다. NULL 데이터 유형은 대소문자를 구분하지 않으며 값이 하나뿐인 유일한 데이터 유형입니다.

 

<?php
    $val = NULL;
    
    
    echo ( $val )? "값이 있음" : "값이 없음"; //결과 : 값이 없음 출력
    
?>

<그림 4> NULL 예제 결과 화면 출력

 


3.2 resource

 

 resource 데이터 유형은 resource를 반환하는 통신 데이터, 데이터베이스, 파일 데이터 등이 커넥션을 이루어지고 반환되는 값을 저장할 때 사용됩니다.

반응형

댓글