본문 바로가기
PHP

[PHP]상수와 데이터 타입

by 남민섭 2022. 12. 17.
728x90
반응형

상수(constant)

변수와 마찬가지로 데이터를 저장할 수 있음.
변하지 않는 값

 

 

define()함수

PHP에서는 define()함수를 사용하여 상수 선언

☞ define(상수이름, 상수값, 대소문자구분여부)

 

예시)

<?php
    define("PHP", "PHP 수업에 잘 오셨습니다.<br/>");
    //bool기본값은 false이므로 입력하지 않아서 기본값으로 설정. 대소문자 구분함 
    echo PHP;
    echo php."<br/>";

    define("hoh", "hoh 수업에 잘 오셨습니다.<br/>", true);
    //true이므로 대소문자 구분하지 않음
    echo hoh;
    echo HOH;
?>

 

결과

 

▶ 선언된 상수는 함수 안이든 밖이든 사용 가능함

 

예시2)

<?php
    function def(){
            define("in", "함수안에서 호출.<br/>");
            echo in;
            define("out", "out 함수밖에서 호출.<br/>",true);
        }

    def();
    echo OUT;
?>

 

결과


 

자바스크립트를 배웠기 때문에 데이터 기본타입은 간단하게 적겠다 후훗.

 

그전에 타입 확인 할 수 있는 함수 2가지

  1. echo gettype($변수명) - 변수의 타입 출력
  2. var_dump($변수명) - 변수의 정보를 출력

 

PHP 데이터 기본타입

5,6,7 빼고는 자바스크립트랑 기본타입 비슷하다

 

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

 

1) 불린(boolean)

PHP에서 상수가 True일때 대소문자 구분하지 않음, false일때 대소문자 구분

PHP에서 불린 타입으로 변경할 때 false로 인식하는 값들

  • 불린: false
  • 정수: 0
  • 실수: 0.0
  • 빈 문자열과 문자열: " ", "0"
  • 빈 문자열: []
  • NULL

이외의 모든 값들은 true

 

2) 정수(integer)

예시)

<?php
    $num = 1;
    echo gettype($num)."<br/>";
    echo "<br/>";

    $int_01 = 100;
    $int_02 = 2147483647;
    $int_02 = 2147483648;

    echo(var_dump($int_01)."<br/>");
    echo(var_dump($int_02)."최대값입니다<br/>");
    echo(var_dump($int_03)."최대값을 초과하였습니다<br/>");
?>

 

결과

 

3)실수(float)

예시)

<?php
        $num = 3.14;
        echo gettype($num)."<br/>";
        echo "<br/>";

        $float_01 = 3.14;
        $float_02 = 1.8e307;
        $float_03 = 1.8e308;

        echo(var_dump($float_01)."<br/>");
        echo(var_dump($float_02)."최대값입니다<br/>");
        echo(var_dump($float_03)."최대값을 초과하였습니다<br/>");
    ?>

 

결과

double은 8byte, float는 4byte이기때문에 byte값이 큰 double 출력

INF 변수는 자동으로 정의된 상수

 

4)문자열(string)

연속된 문자열의 집합

 

아스키 인코딩 환경에서는 영문자 한 글자당 1바이트, 한글은 한 글자당 2바이트로 표현 

ex) 타입확인 함수 사용했을 때 출력값 => string(9) 바이트와 같이 출력

 

UTF-8 인코딩 환경에서는 영문자 한 글자당 1바이트, 한글은 한 문자당 3바이트로 표현

ㅇ=> 1바이트, ㅏ =>1바이트, 알=> 3바이트, 코딩 => 받침 없는 부분은 빈 문자로침. 6바이트

 

strlen() 함수는 문자열의 길이를 반환하는 함수 

예시)

<?php
    $str_01 = "PHP";
    $str_02 = "자바스크립트";// ㅈ + ㅏ + 빈문자 =>"자" 한글자당 3바이트

    echo strlen($str_01);
    //3
    echo strlen($str_02);
    //18
?>

 

5) 배열(array)

PHP에서 배열은 한쌍의 키(key)와 값(value)으로 이루어진 맵(map)으로 구성

예시)

<?php
    $day = array("일요일", "월요일", "화요일", 
    "수요일", "목요일", "금요일", "토요일", "일요일");
    echo $day[0]."<br/>";
    echo $day[2]."<br/>";
    var_dump($day)."<br/>";
?>

 

6) 객체(Object)

 

객체는 클래스의 인스턴스를 저장

프로퍼티, 메소드 포함할수 있음

예시)

<?php
    class Lecture {
        function Lecture(){
            $this->lec_01 = "PHP";
            $this->lec_02 = "mysql";
        }
    }

    $var = new Lecture; //객체 생성
    echo $var->lec_01; // 객체의 속성 접근
    echo "<br/>";
    echo $var->lec_02;
?>

 

 

 

7) NULL

오직 한가지 값만을 가질수 있음

NULL 변수란 어떠한 값도 대입되지 않은 변수

 

예시)

<?php
    $var_01;
    echo var_dump($var_01)."<br/>"; //초기화되지 않은 변수 호출
    $var_01 = 100; //변수 초기화함
    echo var_dump($var_01)."<br/>"; 
    unset($var_01); //변수 삭제
    echo var_dump($var_01)."<br/>"; //삭제된 변수 호출
?>

 

형변환은 (int), (string), (double), (bool), (array), (object) 를 사용함

 

예시)

<?php
	echo (int)1.1; //1
    echo (int)"2"; //2
    echo (int)-3.1; //-3
    echo (int)"인트인트" // 0
?>

//PHP느 (int)를 원하는 변수에 붙이면 형변환 됨

 

 

728x90
반응형

'PHP' 카테고리의 다른 글

파일과 디렉토리 제어  (0) 2022.12.18
[PHP]반복문  (0) 2022.12.18
[PHP]조건문  (0) 2022.12.18
[PHP]연산자와 함수  (0) 2022.12.18
[PHP]숫자와 문자와 변수  (0) 2022.12.15

댓글