강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

php전역변수
작성자 : 13 김영철
등록날짜 : 2009.01.14 22:20
3,036
오늘은 변수의 사용범위(Variable Scope)에 대한 내용 중 전역변수에 대한 얘기를 해드리겠습니다.

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

출처 : Tong - 드렁크수달스님의 ■ PHP ■통

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3045 자바스크립트 관련 페이지 이동 함수 13 김영철 01.14 2292
3044 다중업로드소스 - 검증완료 13 김영철 01.14 2804
3043 현재접속자 구하기 13 김영철 01.14 2793
3042 $_SERVER 변수의 모든것 13 김영철 01.14 2811
3041 php mail 함수는 sendmail 을 사용 13 김영철 01.14 2704
3040 업로드시 그림 파일명이 한글일경우 이름 자동 변경하기 13 김영철 01.14 3593
3039 php.ini register_globals 13 김영철 01.14 3084
열람중 php전역변수 13 김영철 01.14 3037
3037 자바스크립트 라이브러리와 PHP함수 라이브러리 13 김영철 01.14 2806
3036 register_globals = on /off 차이점 13 김영철 01.14 2282
3035 PHP.INI 내용과 각 옵션의 기능(PHP4 기준) 13 김영철 01.14 3191
3034 HTML 내에 PHP 삽입과 특수문자 출력 13 김영철 01.14 2999
3033 개행문자없애기 13 김영철 01.14 3063
3032 테이블 유뮤 확인하는 방법 13 김영철 01.14 2337
3031 쿠키사용 13 김영철 01.14 2098
3030 HTTP_REFERER 사용하기 13 김영철 01.14 2744
3029 GD 라이브러리란 13 김영철 01.14 3669
3028 다운로드에 관한 1원짜리팁 13 김영철 01.14 2357
3027 옥션판매자용 판매자의 다른 상품보기 13 김영철 01.14 2137
3026 HTML 하드코더 13 김영철 01.14 2097
3025 urlencode 13 김영철 01.14 2935
3024 숫자앞에 0붙이기 13 김영철 01.14 2792
3023 항상 새로 고침 13 김영철 01.14 2970
3022 다른 SMTP 서버 이용하여 메일 보내기 13 김영철 01.14 2490
3021 띠 구하는 함수 13 김영철 01.14 3388
3020 -1000 까지 누락된 숫자 구하기 13 김영철 01.14 2944
3019 이미지의 크기, 타입 정보 가져오기 13 김영철 01.14 3453
3018 [함수] 초를 시간 분 초로 바꿈.. 13 김영철 01.14 2124
3017 요일 구하기 함수 13 김영철 01.14 2953
3016 php.net 의 mysql 관련 함수 및 예제 13 김영철 01.14 2382
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취