PHP 변수의 특징
: PHP 변수는 변수명 앞에 달러사인($)을 덧붙여 변수임을 나타냅니다. 또한, 변수를 선언할 때 자료형을 지정하지 않아도 초기에 할당된 값에 맞춰 자동으로 자료형을 지정합니다. 따라서 PHP 변수를 자료형 선언과 초기화 할 필요는 없지만, 자료형 선언과 초기화는 매우 좋은 습관이기 때문에 하는 것이 좋습니다.
초기화되지 않은 변수는 자료형과 사용되는 위치에 따라서 기본값을 가집니다. 논리 기본값은 false, 정수형과 소수형은 0, 문자열을 빈 문자열로 설정됩니다.
○ 변수명 명명 규칙
-
변수는 $ 기호로 시작
-
영문자나 _(Underscore)로 시작해야 한다.(숫자나 특수기호로 시작할 수 없음)
-
변수명에 공백은 허용 안함
-
변수는 [A-Z, a-z, 0-9, _] 범위 안에서만 허용됨.
○ PHP 변수의 기본 자료형
1. 스칼라형 : boolean, integer, float, String
2. 복합형 : array, object
3. 특별형 : resource, Null
※ 자료형의 변환
1. 형변환
$var = 100;
$result = (boolean)$var; // $result는 true
2. settype() 함수
bool settype(mixed $var, string $type);
○ 변수의 유효범위
변수의 유효범위는 변수가 정의돈 환경을 말합니다. 대부분의 경우 모든 PHP변수는 한군데서 유효영역을 갖습니다. 이 유효영역은 include되거나 require된 파일로도 확장됩니다.
함수안에 선언한 변수는 함수안에서만 유효영역을 갖습니다. 하지만 함수안에 선언된 변수를 전역변수로 사용할려면 global 키워드를 사용하여 변수 선언을 하면 전역변수로 사용할 수 있습니다.
<?
function test() {
global $a;
$a=5;
}
echo $a;
이 경우 출력값은 5가 됩니다.
○ 상수
상수는 단순한 값을 위한 식별자입니다. 상수로 지정된 값은 스크립트 실행중에는 변경될 수 없습니다. 상수는 기본적으로 대소문자를 구별하지만 관례상 상수는 대문자로 사용합니다. 상수는 변수와 달리 다음과 같은 차이점이 있습니다.
1. 상수 이름 앞에 달러 표시($)가 없다.
2. 상수는 단순지정(assignment)가 아니라 define() 함수로만 정의될 수 있다.
3. 상수는 변수의 유효범위 규칙과는 상관없이 어느 곳에서든 정의되거나 값을 취할 수 있다.
4. 상수는 한 번 설정되며 재정의하거나 해제할 수 없다.
5. 상수 타입은 스칼라 타입만 가능하다.
상수 지정 예제
define("var", "something");
echo var;
○ 마법 상수
마법상수란 미리 정의된 상수를 말합니다. PHP는 7가지의 마법상수가 존재합니다.
1. __LINE__ : 파일의 현재 줄 번호
2. __FILE__ : 파일의 전체경로와 파일명, 포함한 파일 안에서 사용하며, 포함된 파일명을 반환합니다.
3. __DIR__ : 파일의 디렉토리
4. __FUNCTION : 함수명
5. __CLASS__ : 클래스명
6. __METHOD__ : 메소드명
7. __NAMESPACE__ : 현재 이름 공간 이름