[Project H4C] 2. PHP 기초 (1)
- 변수란?
데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간
- 변수의 선언
PHP에서는 달러($) 기호를 사용하여 다음과 같이 변수를 선언한다.
$변수이름 = 초깃값;
PHP에서는 변수를 선언할 때 타입을 명시하지 않는다.
PHP에서 변수의 타입은 해당 변수에 대입하는 값에 따라 자동으로 결정되기 때문이다.
e.g.)
$var = 10; // 정수값을 대입함
$var = 3.14 // 실수값을 대입함
$var = "PHP"; // 문자열을 대입함
- 변수 이름의 생성 규칙
변수의 이름은 그 변수가 가지는 데이터의 의미를 잘 나타내도록 하는 것이 좋다.
PHP에서는 이러한 변수의 이름을 작성할 때 다음 규칙을 반드시 지켜야 한다.
1. 변수의 이름은 영문 대소문자, 숫자, 언더스코어(_)로만 구성된다
2. 변수의 이름은 숫자와의 구분을 빠르게 하기 위해 숫자로는 시작할 수 없다
3. 변수의 이름에는 공백이 포함될 수 없다
4. 변수의 이름으로 PHP에서 미리 정의한 $this는 사용할 수 없다
5. 변수의 이름은 대소문자를 구분한다
* PHP에서 변수는 이름을 가지고 식별하므로, 변수의 이름은 식별자(identifier)입니다.
식별자(identifier)란 변수나 함수, 클래스의 이름과 같이 해당 요소를 식별할 때 사용하는 이름이다.
중괄호({})로 변수의 이름을 감싸서 어디까지가 변수의 이름인지를 명확히 해야한다.
e.g.)
$var = 10;
echo "$var"; // 10
echo "{$var}"; //10
3️⃣echo "변수 \$var에 저장된 값은 $var입니다."; //변수 $var에 저장된 값은.
4️⃣echo "변수 \$var에 저장된 값은 {$var}입니다."; //변수 $var에 저장된 값은 10입니다.
3번 라인과 같이 변수의 이름 뒤에 다른 문자가 나오게 되면,
PHP 파서는 "$var"라는 변수의 이름을 찾는 대신에 "$var입니다"라는 이름을 가진 변수를 찾는다
따라서 4번 라인과 같이 변수의 이름을 중괄호로 감써야 PHP 파서가 변수의 이름을 정확히 인식할 수 있다.
- 변수의 초기화
PHP에서는 반드시 변수의 선언과 동시에 그 값을 초기화할 필요가 없다.
초기화되지 않은 변수는 해당 변수가 참조되거나 사용되는 위치에 따라 다음 기본값으로 자동 초기화된다.
http://tcpschool.com/php/php_basic_variable
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
- 변수의 종류
1. 지역 변수(local variable)
함수 내부에서 선언된 변수는 오직 함수 내부에서만 접근할 수 있다.
함수 내부에서 선언된 변수는 함수의 호출이 종료되면 메모리에서 제거된다.
e.g.)
function varFunc() {
$var = 10; //지역 변수로 선언함
echo "함수 내부에서 호출한 지역 변수 var의 값은 {$var}이다. <br>";
}
varFunc();
echo "함수 밖에서 호출한 지역 변수 var의 값은 {$var}이다.";
위 예제에서 함수 밖에서 함수 내부의 지역 변수 var를 참조하려고 한다.
하지만 함수의 호출이 종료되었으므로, 함수 내부에서 선언된 모든 지역 변수들은 메모리에서 이미 제거되었다.
따라서 함수 밖에서 지역 변수를 참조하려고 하면 아무런 값도 얻을 수 없다.
2. 전역 변수(global variable)
함수 밖에서 선언된 변수는 함수 밖에서만 바로 접근할 수 있다.
함수 밖에서 선언된 변수를 함수 내부에서 접근하고자 할 때는 global 키워드를 함께 사용해야 한다.
이렇게 함수 밖에서 선언된 변수를 global variable(전역 변수)
3. superglobal
PHP는 미리 정의된 전역 변수인 슈퍼 글로벌을 제공한다.
이러한 슈퍼 글로벌은 특별한 선언 없이 스트립트 내의 어디에서라도 바로 사용할 수 있다.
1. $GLOBALS
2. $_SERVER
3. $_GET
4. $_POST
5. $_FILES
6. $_COOKIE
7. $_SESSION
8. $_REQUEST
9. $_ENV
4. 정적 변수(static variable)
함수 내부에서 static 키워드로 선언한 변수를 의미한다.
함수 내부에서 선언된 정적 변수는 함수의 호출이 종료되더라도 메모리상에서 사라지지 않는다.
하지만 지역 변수처럼 해당 함수 내부에서만 접근할 수 있다.
e.g.)
function counter() {
static $count = 0;
echo "함수 내부에서 호출한 static 변수 count의 값은 {$count}입니다.<br>";
$count++;
}
counter();
counter();
counter();
위 예제에서 정적 변수인 $count는 함수의 호출이 종료된 후에도 계속해서 그 값을 유지하고 있다.
'4. PHP' 카테고리의 다른 글
[Project H4C] 3. 연산자 (0) | 2020.07.11 |
---|---|
[Project H4C] 2. PHP 기초 (3) (0) | 2020.07.11 |
[Project H4C] 2. PHP 기초 (2) (0) | 2020.07.11 |
[Project H4C] 1. PHP 시작 (0) | 2020.07.11 |