일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- VoIP
- 라디오
- 유희열의라디오천국
- "명탐정 코난"
- 공정위
- 퀄컴
- EV-DO Rev. B
- 사요
- USIM
- 모던음악만만세
- Java
- ETF
- 자바
- 김장훈의who
- Wibro
- itmusic
- 민동현의토요명화
- brew
- 차트쇼쇼쇼
- 이지형
- 한국의 기획자들
- HSDPA
- 민동현
- 위피
- SWT
- 페이스북
- 러시아
- 김장훈
- 그녀가말했다
- CDMA
- Today
- Total
zyint's blog
상수 본문
상수
define() 함수를 사용해서 상수를 정의할 수 있습니다. PHP 5.3.0부터 클래스 정의 밖에서 const 키워드를 사용할 수도 있습니다. 상수가 한번 정의되면, 변경하거나 해제(undefine)할 수 없습니다.
상수는 스칼라 데이터(boolean, integer, float, string)만 가질 수 있습니다. resource를 상수로 등록할 수 있지만, 피하십시오. 예상할 수 없는 결과를 낳을 수 있습니다.
단순히 상수명을 써서 상수값을 얻을 수 있다. 변수와는 달리 $가 상수명 앞으로 오면 안된다 동적으로 상수명을 취하려한다면 constant()함수로 상수값을 가져올수 있다. 정의된 모든 상수 목록을 구하려면 get_defined_constants 함수를 쓴다.
Note: 상수와 (전역)변수는 서로 다른 네임스페이스(namespace)상에 있다. 이말의 의미는 예를 들면 TRUE와 $TRUE은 일반적으로 다르다는것이다.
해제된 상수를 사용한다면, PHP는 상수명 자체를 쓴것이라고 가정할것이다 즉,string으로 인식할것이다. (CONSTANT vs "CONSTANT") E_NOTICE로 이런 일이 발생했는지 알수 있다. 왜 $foo[bar]가 잘못됐는지 (bar를 상수로 define() 하지않았다면) 매뉴얼을 참고한다. 단순히 상수가 설정되었는지만 확인하려 한다면 defined()함수를 쓰면 됩니다.
상수와 변수의 차이점
- 상수는 이름 앞에 달러표시($)가 없다.
- 상수는 단순 지정(assingment)이 아니라 define() 함수로만 정의될수 있다.
- 상수는 변수의 유효범위 규칙과는 상관없이 어느곳에서든 정의되거나 값을 취할수 있다.
- 상수는 한번 설정되면 재정의하거나 해제할수 없을것이다; 그리고
- 상수는 스칼라 값만 쓸수 있다.
참고자료
http://www.php.net/manual/kr/language.constants.syntax.php
이 글은 스프링노트에서 작성되었습니다.