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
게시글 목록
| 번호 | 제목 |
|---|---|
| 27925 | |
| 27922 | |
| 6972 | |
| 19602 |
JavaScript
jQuery 의 delegate 흉내내기
1
|
| 19601 |
JavaScript
script 디버깅 - JSHint
|
| 19599 |
jQuery
jQuery 롤링배너 플러그인
1
|
| 6961 | |
| 30941 | |
| 19597 | |
| 19596 | |
| 19595 | |
| 19594 |
JavaScript
스크립트 for문
|
| 30939 |
HTML
디바이스별 해상도 확인
1
|
| 19593 | |
| 6959 | |
| 6957 | |
| 6953 | |
| 27920 | |
| 19592 |
PHP
php oop 단일 모드
|
| 19591 | |
| 19590 |
PHP
IP class 비교 함수
|
| 6949 | |
| 6947 | |
| 20826 |
이미지관련
문자열이미지에 각종 필터를 적용한 결과
7
|
| 20823 |
이미지관련
이미지에 각종 필터를 적용한 결과
2
|
| 19589 |
jQuery
심플한 파일첨부 버튼과 jquery
|
| 27913 | |
| 27912 | |
| 19588 |
JavaScript
자바스크립트 시작날짜 종료날짜 유효성 검사 함수
|
| 20822 |
이미지관련
프레임이미지와 얼굴이미지 합치기
|
| 19587 | |
| 19586 |
PHP
한국 IP대역 체크
|
| 27887 | |
| 20819 | |
| 27883 | |
| 19585 | |
| 19584 | |
| 19583 |
JavaScript
중첩없이 랜덤수 뽑아내기
|
| 19582 | |
| 19581 | |
| 19580 | |
| 6945 | |
| 24622 | |
| 19578 |
JavaScript
자바스크립트에서 for문 사용시 속도차이
1
|
| 6938 | |
| 6935 | |
| 27880 | |
| 20818 | |
| 19575 | |
| 20815 |
이미지관련
이미지 너비에 맞게 문자열의 자동 개행
2
|
| 20812 | |
| 20809 |
이미지관련
문자열 그릴때 패딩 주기
2
|
| 6932 | |
| 6931 | |
| 6929 | |
| 19571 |
Mobile
html5 지원되는 os별 버전보기
3
|
| 19570 | |
| 20802 |
이미지관련
위치에 따른 이미지에 문자열 그리기
6
|
| 27877 | |
| 20797 | |
| 6923 | |
| 20795 |
이미지관련
문자열의 너비와 높이 구하기
1
|
| 6918 | |
| 6914 | |
| 20789 |
이미지관련
이미지에 글자 쓰기
5
|
| 6899 | |
| 27860 | |
| 6898 | |
| 27856 | |
| 6895 | |
| 6891 | |
| 6890 | |
| 6881 | |
| 6874 | |
| 27852 | |
| 6860 | |
| 6857 | |
| 19569 | |
| 19565 | |
| 19564 | |
| 27844 | |
| 19563 | |
| 24617 | |
| 19554 | |
| 6854 | |
| 19553 | |
| 19531 | |
| 6850 | |
| 6848 | |
| 27842 | |
| 6846 | |
| 6842 | |
| 6839 | |
| 6834 | |
| 6829 | |
| 6824 | |
| 6820 | |
| 27839 | |
| 6818 | |
| 19529 |
JavaScript
그누보드5 에 Daum 우편번호 찾기 API 연동 하기
1
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기