PHP에서 변수가 사용될 수 있는 범위는 기본적으로 그 변수가 선언된 영역에 한정됩니다.
먼저, 다음의 간단한 예제를 보겠습니다.
<?
$first = 30;
Function Output() {
echo("first : $first");
}
Output();
?>
위 예제는 먼저 Output 함수 밖에서 $first 변수에 30이라는 값을 넣고 Ouput 함수를 호출하여 $first 값을 출력하는 코드입니다.(함수에 대해서는 담에 설명하겠습니다.)
언뜻 보기에는 first : 30 이라고 출력될 것 같지만 위 예제를 확인하면 다음과 같은 결과가 나옵니다.
first :
바로 함수 밖에서 선언된 $first 변수가 함수 내에서는 유효하지 않기 때문에 $first 변수의 값이 공백으로 출력되게 됩니다.
그럼, 함수 밖에서 선언된 변수를 함수 내에서 사용하려면 어떻게 해야 할까요?
바로 변수 앞에 global 이라는 선언자를 붙여주어야 합니다.
따라서 위 예제를 다음과 같이 고치면 되겠죠.
<?
$first = 30;
Function Output() {
global $first;
echo("first : $first");
}
Output();
?>
따라서 위 예제를 확인하면 다음과 같은 결과가 나옵니다.
first : 30
참고로, global 선언해 준 변수를 전역변수라고 부릅니다.
마지막으로, 전역변수를 사용한 예제 하나를 더 보겠습니다.
<?
$first = 30;
Function Increase() {
global $first;
$first++;
}
Increase();
Increase();
$first++;
echo("first : $first");
?>
위의 예제를 실행하면 최종적으로 $first 변수에는 어떤 값이 저장될까요?
네, Increase() 함수 내의 $first 변수가 전역변수로 선언되었기 때문에 함수 밖에서 선언된 $first 변수가 함수 내에서도 유효하게 됩니다.
따라서, 위 예제를 실행하면 Increase() 함수를 두 번 호출하였기 때문에 $first 변수에 1을 두 번 더하게 되고 마지막에 함수 밖에서 또 한번 $first 변수에 1을 더하게 됩니다.
따라서, 다음과 같은 결과가 나오겠죠.
first : 33
먼저, 다음의 간단한 예제를 보겠습니다.
<?
$first = 30;
Function Output() {
echo("first : $first");
}
Output();
?>
위 예제는 먼저 Output 함수 밖에서 $first 변수에 30이라는 값을 넣고 Ouput 함수를 호출하여 $first 값을 출력하는 코드입니다.(함수에 대해서는 담에 설명하겠습니다.)
언뜻 보기에는 first : 30 이라고 출력될 것 같지만 위 예제를 확인하면 다음과 같은 결과가 나옵니다.
first :
바로 함수 밖에서 선언된 $first 변수가 함수 내에서는 유효하지 않기 때문에 $first 변수의 값이 공백으로 출력되게 됩니다.
그럼, 함수 밖에서 선언된 변수를 함수 내에서 사용하려면 어떻게 해야 할까요?
바로 변수 앞에 global 이라는 선언자를 붙여주어야 합니다.
따라서 위 예제를 다음과 같이 고치면 되겠죠.
<?
$first = 30;
Function Output() {
global $first;
echo("first : $first");
}
Output();
?>
따라서 위 예제를 확인하면 다음과 같은 결과가 나옵니다.
first : 30
참고로, global 선언해 준 변수를 전역변수라고 부릅니다.
마지막으로, 전역변수를 사용한 예제 하나를 더 보겠습니다.
<?
$first = 30;
Function Increase() {
global $first;
$first++;
}
Increase();
Increase();
$first++;
echo("first : $first");
?>
위의 예제를 실행하면 최종적으로 $first 변수에는 어떤 값이 저장될까요?
네, Increase() 함수 내의 $first 변수가 전역변수로 선언되었기 때문에 함수 밖에서 선언된 $first 변수가 함수 내에서도 유효하게 됩니다.
따라서, 위 예제를 실행하면 Increase() 함수를 두 번 호출하였기 때문에 $first 변수에 1을 두 번 더하게 되고 마지막에 함수 밖에서 또 한번 $first 변수에 1을 더하게 됩니다.
따라서, 다음과 같은 결과가 나오겠죠.
first : 33
[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]
댓글 1개
17년 전
오호~ 전역변수~ 저렇게 쓰이는 거였군요~~
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 1230 |
|
18년 전 | 2013 | |
| 1229 |
|
18년 전 | 2952 | |
| 1228 |
|
18년 전 | 2638 | |
| 1227 | 18년 전 | 2935 | ||
| 1226 | 18년 전 | 2365 | ||
| 1225 |
|
18년 전 | 2439 | |
| 1224 | 18년 전 | 2748 | ||
| 1223 |
|
18년 전 | 3997 | |
| 1222 |
mixdesign
|
18년 전 | 2638 | |
| 1221 |
|
18년 전 | 2757 | |
| 1220 | 18년 전 | 3212 | ||
| 1219 | 18년 전 | 2922 | ||
| 1218 | 18년 전 | 2115 | ||
| 1217 |
|
18년 전 | 2560 | |
| 1216 | 18년 전 | 2580 | ||
| 1215 |
mixdesign
|
18년 전 | 4062 | |
| 1214 |
|
18년 전 | 4793 | |
| 1213 | 18년 전 | 2326 | ||
| 1212 |
mixdesign
|
18년 전 | 2507 | |
| 1211 |
|
18년 전 | 2432 | |
| 1210 | 18년 전 | 3760 | ||
| 1209 |
mixdesign
|
18년 전 | 2378 | |
| 1208 |
mixdesign
|
18년 전 | 2381 | |
| 1207 |
mixdesign
|
18년 전 | 1730 | |
| 1206 |
mixdesign
|
18년 전 | 2009 | |
| 1205 |
mixdesign
|
18년 전 | 2705 | |
| 1204 |
mixdesign
|
18년 전 | 3582 | |
| 1203 | 18년 전 | 3099 | ||
| 1202 | 18년 전 | 2983 | ||
| 1201 | 18년 전 | 2036 | ||
| 1200 | 18년 전 | 4133 | ||
| 1199 | 18년 전 | 2176 | ||
| 1198 | 18년 전 | 4198 | ||
| 1197 | 18년 전 | 2511 | ||
| 1196 | 18년 전 | 2369 | ||
| 1195 |
|
18년 전 | 3472 | |
| 1194 | 18년 전 | 2247 | ||
| 1193 | 18년 전 | 2157 | ||
| 1192 | 18년 전 | 3276 | ||
| 1191 | 18년 전 | 3965 | ||
| 1190 | 18년 전 | 2228 | ||
| 1189 |
|
18년 전 | 2370 | |
| 1188 |
|
18년 전 | 3836 | |
| 1187 | 18년 전 | 2717 | ||
| 1186 | 18년 전 | 3384 | ||
| 1185 | 18년 전 | 2790 | ||
| 1184 | 18년 전 | 1669 | ||
| 1183 | 18년 전 | 2142 | ||
| 1182 | 18년 전 | 3708 | ||
| 1181 |
mermaid
|
18년 전 | 2924 | |
| 1180 | 18년 전 | 2986 | ||
| 1179 | 18년 전 | 3612 | ||
| 1178 | 18년 전 | 2179 | ||
| 1177 |
|
18년 전 | 2291 | |
| 1176 | 18년 전 | 3180 | ||
| 1175 | 18년 전 | 1881 | ||
| 1174 |
|
18년 전 | 2238 | |
| 1173 |
|
18년 전 | 2529 | |
| 1172 | 18년 전 | 1777 | ||
| 1171 | 18년 전 | 2111 | ||
| 1170 | 18년 전 | 1995 | ||
| 1169 | 18년 전 | 2508 | ||
| 1168 | 18년 전 | 1934 | ||
| 1167 | 18년 전 | 1728 | ||
| 1166 | 18년 전 | 1754 | ||
| 1165 | 18년 전 | 1732 | ||
| 1164 | 18년 전 | 2803 | ||
| 1163 | 18년 전 | 1561 | ||
| 1162 |
|
18년 전 | 5680 | |
| 1161 |
이걸~어쩌나~
|
18년 전 | 2412 | |
| 1160 | 18년 전 | 1674 | ||
| 1159 | 18년 전 | 4705 | ||
| 1158 | 18년 전 | 2057 | ||
| 1157 | 18년 전 | 4845 | ||
| 1156 | 18년 전 | 3195 | ||
| 1155 | 18년 전 | 2137 | ||
| 1154 | 18년 전 | 1833 | ||
| 1153 |
BEST79
|
18년 전 | 2114 | |
| 1152 | 18년 전 | 1732 | ||
| 1151 | 18년 전 | 1847 | ||
| 1150 | 18년 전 | 1852 | ||
| 1149 |
inniskun
|
18년 전 | 2485 | |
| 1148 |
|
18년 전 | 3503 | |
| 1147 |
|
18년 전 | 5981 | |
| 1146 |
|
18년 전 | 3869 | |
| 1145 | 18년 전 | 3062 | ||
| 1144 | 18년 전 | 2142 | ||
| 1143 | 18년 전 | 2419 | ||
| 1142 | 18년 전 | 2205 | ||
| 1141 |
|
18년 전 | 2309 | |
| 1140 | 18년 전 | 2419 | ||
| 1139 | 18년 전 | 2848 | ||
| 1138 | 18년 전 | 2542 | ||
| 1137 | 18년 전 | 2004 | ||
| 1136 | 18년 전 | 3134 | ||
| 1135 | 18년 전 | 3598 | ||
| 1134 | 18년 전 | 3841 | ||
| 1133 |
자반고등어
|
18년 전 | 3349 | |
| 1132 | 18년 전 | 3396 | ||
| 1131 | 18년 전 | 2579 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기