상수는 변수와 같은 메모리공간을 의미하지만 변수와 다르게 상수는 한번 선언되면 스크립트가 실행되는동안
그 데이터를 변경하거나 해제할 수 없다.
define() 함수
PHP에서는 define()함수를 사용하여 상수는 선언할수 있다.
define(상수이름,상수값,대소문자구분여부)
함수는 첫번째 인수로 이름을 전달받고 두번째 인수로 값을 전달받는다.
세번째로 상수의 이름의 대소문자를 구분하는가를 설정하며 기본값은 false로 대소문자를 구분한다.
<?php
//define()함수
define("PHP","PHP 수업에 잘 오셨습니다. <br/>"); // false 대소문자구분
echo PHP; // PHP수업에 잘 오셨습니다.
echo php; // php
// 상수는 선언 후 어디에서라도 참조할 수 있음.
function defFunc() {
echo ABC; // ABC
define("ABC","<br/>ABC입니다.<br/>",true);
echo ABC; // ABC입니다.
}
defFunc();
echo abc; // ABC 입니다.
?>
PHP 에서의 데이터 기본타입
- 불리언(boolean)
- 정수(integer)
- 실수(float)
- 문자열(string)
- 배열(array)
- 객체(object)
- 리소스(resource)
- NULL
불리언(boolean)
참과 거짓을 표현한다.
PHP에서 불리언은 상수인 true와 false를 사용하여 나타내며 대소문자를 구분하지 않는다.
PHP에서 다음 값들은 불리언 타입으로 변환되면 모두 false로 인식된다.(나머진 모두 true)
- 불리언 : false
- 정수 : 0
- 실수 : 0
- 빈 문자열과 문자열 "0"
- 빈배열
- NULL
이를 제외한 모든 값은 true로 인식된다. (음수도 포함)
배열
PHP에서 배열은 한쌍의 키와 값으로 이루저니 맵으로 구성되는 순서가 있는 집합을 의미한다.
맵의 키값으로는 정수와 문자열만이 가능하며, 하나의 배열에는 두가지 키값을 같이 사용할 수 있다.
만약 정수와 문자열 이외에 다른 타입의 값을 키값으로 사용하면, 내부적으로 다음과같이 자동변환한다.
- 불리언 true는 1로 false는 0으로 변환
- 유효한 숫자로만 이루어진 문자열은 정수나 실수로 변환
- 실수는 소수 부분이 제거되고 정수로 변환
- NULL은 빈문자열 "" 로 변환
- 배열과 객체는 배열의 키값으로 사용할 수 없다.
<?php
echo "integer타입의 크기는".PHP_INT_SIZE."바이트 입니다.<br/>"; // 8바이트 입니다.
echo "integer타입이 표현할 수 있는 가장 큰 수는".PHP_INT_MAX."입니다.<br/>"; // 엄청큰수..
$int1 = 1000;
$float1 = 5.123456;
var_dump($int1); // int(1000)
var_dump($float1); // float(5.123456)
//String
$str1 = "안녕하세요";
$str2 = "green";
echo $str1."<br/>"; // 안녕하세요
echo strlen($str1); // 15 (배열의 길이 문자는 3으로 취급)
echo strlen($str2)."<br/>"; // 배열의길이 = 5
//Array
$day = array("일요일","월요일","화요일","수요일","목요일","금요일");
echo $day[1]."<br/>"; // 월요일
var_dump($day); // array(6) { [0]=> string(9) "일요일" [1]=> string(9) "월요일"
[2]=> string(9) "화요일" [3]=> string(9) "수요일" [4]=> string(9) "목요일"
[5]=> string(9) "금요일" }
echo $day."<br/>"; // Array
$arr = array("name" => "green", "age" => 30); // 키값을 줄 수 있다.
echo $arr["name"]."<br/>"; // green (키값으로 접근 가능)
var_dump($arr); // array(2) { ["name"]=> string(5) "green" ["age"]=> int(30) }
?>
echo $day 같이 배열의 위치를 주지 않고 배열만 적을시 배열의 형인 Array가 나오게 된다.
'프론트앤드 수업' 카테고리의 다른 글
[php] 제어문(조건문, 반복문) (0) | 2022.05.25 |
---|---|
[php] 배열의 연결 (0) | 2022.05.25 |
[PHP 기초] 문법, echo함수 변수의선언 (0) | 2022.05.24 |
[Musql] 기본 명령문 (0) | 2022.05.23 |
[javascript] extends ! 클래스의 상속, 오버라이딩 (0) | 2022.05.20 |