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가지
- echo gettype($변수명) - 변수의 타입 출력
- var_dump($변수명) - 변수의 정보를 출력
PHP 데이터 기본타입
5,6,7 빼고는 자바스크립트랑 기본타입 비슷하다
- 불린(boolean)
- 정수(integer)
- 실수(float)
- 문자열(string)
- 배열(array)
- 객체(object)
- 리소스(resource)
- 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 |
댓글