기본 타입
타입 - 프로그램에서 다룰 수 있는 값의 종류를 말한다.
기본 타입이란 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
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 |
'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 |