PHP

08. PHP 기본타입

drizzle0925 2021. 2. 27. 15:42
728x90

기본 타입

타입 - 프로그램에서 다룰 수 있는 값의 종류를 말한다.

기본 타입이란 PHP에서 여러가지 형태의 타입을 미리 정의하여 제공하는 것을 의미한다.

 

PHP 제공하는 기본타입

1. 불리언(boolean) true / false

2. 정수(integer) 1, -1

3. 실수(float) → 1.1, 4.2

4. 문자열(string) 안녕하세요, hello world

5. 배열(array)

6. 객체(object)

7. 리소스(resource)

8. NULL


불리언(boolean)

불리언은 true(참) / false(거짓)을 정의한다.

true와 false는 대소문자를 구분하지 않는다.

 

PHP에서 다음 값은 불리언 타입으로 변환되며 모두 false로 인식된다.

- 불리언 : false

- 정수 : 0

- 실수 : 0.0

- 빈 문자열과 문자열 "0"

- 빈 배열

- NULL

 

위에 이외의 값들은 true로 인식된다.

1
2
3
4
5
6
7
8
9
10
11
<?php
var_dump((bool) false);   // false
var_dump((bool) "false"); // true
var_dump((bool) 0);       // false
var_dump((bool) -100);    // true
var_dump((bool) 0.0);     // false
var_dump((bool) "");      // false
var_dump((bool) "0");     // false
var_dump((bool) array()); // false
var_dump((bool) null);    // false
?>
cs

"false"라는 문자열은 일반적인 문자열로 인식되기 때문에 true를 반환한다.


정수(integer)

정수는 부호를 가지고 소수부가 없는 숫자를 의미한다.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$integer1 = 1;
$integer2 = -4;
echo $integer1;
echo "<br>";
echo $integer2;
echo "<br>";
 
var_dump($integer1);
echo "<br>";
var_dump($integer2);
?>
cs

1
2
3
4
5
6
<?php
// PHP_INT_SIZE -> 상수 PHP_INT_SIZE는 정수 타입의 크기를 나타낸다.
// PHP_INT_MAX -> 상수 PHP_INT_MAX의 값은 정수 타입이 표현할 수 있는 가장 큰 수를 가리킨다.
echo "integer 타입의 크기는 ".PHP_INT_SIZE."바이트 입니다.<br>";
echo "integer 타입이 표현할 수 있는 가장 큰 수는 ".PHP_INT_MAX." 입니다.<br>";
?>
cs


실수(float)

실수는 소수부가 있는 숫자로 정수보다 더 많은 값을 표현할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$float1 = 1.42;
$float2 = -4.25;
echo $float1;
echo "<br>";
echo $float2;
echo "<br>";
 
var_dump($float1);
echo "<br>";
var_dump($float2);
?>
cs


문자열(string)

문자열은 문자의 집합을 의미한다.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$str1 = "hello";
$str2 = "world";
echo $str1;
echo "<br>";
echo $str2;
echo "<br>";
 
var_dump($str1);
echo "<br>";
var_dump($str2);
?>
cs


배열(array)

배열은 한 쌍의 키(key)와 값(value)으로 이루어진 상자를 의미한다.

1
2
3
4
5
6
7
8
<?php
$arr1 = array("사과""바나나""포도");
echo $arr1[0];
echo "<br>";
echo $arr1[1];
echo "<br>";
echo $arr1[2];
?>
cs

※ PHP에는 연관 배열이라는 것이 존재한다.

JAVA의 경우 배열을 생성했을 때 인덱스 값은 숫자로만 정의되고 LIST, MAP이라는 것을 사용하여 문자열로 배열 값에 접근할 수 있는 것에 비해 PHP는 연관 배열이라는 것이 존재해 키값을 문자열로 선언할 수도 배열 값을 출력할 수도 있다.


객체(object)

객체는 클래스의 인스턴스를 저장하기 위한 타입이다.

객체는 프로퍼티(properties)와 메소드(methods)를 포함할 수 있다.

함수는 독립적으로 존재하고 메소드는 Class에 종송적인 함수이다. 둘다 공통적으로 코드를 실행하는 기능의 단위는 동일하다. 다만 Class에 종속되어 있는가 아닌가의 여부로 불리는 형태가 다르다. 메소드를 다른말로는 클래스 함수라고 부르기도 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// FishBread -> 붕어빵
class FishBread {
    public $flavor = "팥"// $flavor -> 맛
    function changeFlavorCream(){ // 크림맛으로 바꾸는 메소드 
        $this->flavor = "크림";
    }
}
 
$fishBread = new FishBread; // 붕어빵을 찍어 만드는 중
echo "현재 붕어빵의 맛은 : ".$fishBread->flavor."입니다.<br>";
 
$fishBread->changeFlavorCream(); // 붕어빵의 맛을 바꾸는 메소드
echo "바꾼 붕어빵의 맛은 : ".$fishBread->flavor."입니다.";
?>
cs

$carColor 프로퍼티

changeCarColor → 메소드

 

객체 

1. 클래스 또는 인스턴스

2. 속성, 행위를 가진 것

3. 상태와 행동을 가진 것

4. 데이터와 동작을 가진 개념

5. 속성 + 조작

6. 필드 + 메소드

7. 멤버 변수 + 멤버 함수

8. 객체지향에서 처리절차의 대상을 추상화한 개념

 

인스턴스

1. 클래스의 실현체

2. 클래스로부터 생성된 객체

 

인스턴스화

1. 클래스를 실현시키는 일

2. 클래스를 가지고 객체를 만드는 일


리소스(resouce)

리소스는 PHP의 외부에 존재하는 외부 자원을 의미한다.

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


NULL

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

NULL타입은 아직 어떤 변수도 대입되지 않은 상태를 의미한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$variable_01;
var_dump($variable_01); // 초기화되지 않은 변수를 참조
echo "<br>";
 
$variable_01 = 100;     // $variable_01 변수를 초기화함.
var_dump($variable_01);
echo "<br>";
 
unset($variable_01);    // $variable_01 변수를 삭제함.
var_dump($variable_01); // 삭제된 변수를 참조
echo "<br>";
?>
cs

PHP에서 초기화하지 않은 변수는 NULL로 자동 초기화된다.

삭제되거나 존재하지 않는 변수를 참조할 경우에도 NULL을 반환한다.


Notice 에러처리

1. php.ini에 있는 error_repoting 설정을 아래와 같이 변경한다.

error_reporting = E_ALLE_ALL & ~(E_NOTICE | E_USER_NOTICE | E_WARNING | E_COMPILE_WARNING | E_CORE_WARNING | E_USER_WARNING) ;

 

2. error_reporting(0); 이라는 코드를 삽입

www.php.net/manual/en/function.error-reporting.php

이 함수는 스크립트 실행시 에러표시 레벨을 설정한다. level을 설정하지 않는 경우에는 현재 설정된 셋팅값의 에러를 화면에 출력한다.
모든 에러를 화면에 출력하지 않는다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
error_reporting(0);
$variable_01;
var_dump($variable_01); // 초기화되지 않은 변수를 참조
echo "<br>";
 
$variable_01 = 100;     // $variable_01 변수를 초기화함.
var_dump($variable_01);
echo "<br>";
 
unset($variable_01);    // $variable_01 변수를 삭제함.
var_dump($variable_01); // 삭제된 변수를 참조
echo "<br>";
?>
cs

728x90

'PHP' 카테고리의 다른 글

10. PHP 산술연산자  (0) 2021.02.28
09. PHP 타입변환  (0) 2021.02.28
07. PHP 상수  (0) 2021.02.27
06. PHP 변수의 종류  (0) 2021.02.27
05. PHP의 변수  (0) 2021.02.25