(함수)전역변수-GLOBAL

· 댓글 : 0 조회 : 4105 · 0

전역변수란

여러 함수들의 내부는 물론 외부에서 함께 공유할 수 있는 변수를 말한다. 따라서 프로그램이 종료될 대까지 사용 가능한 상태로 존재하다가 프로그램이 종료되면 소멸된다. PHP에서는 전역변수임을 알리기 위해서 함수 내부에서 "GLOBAL" 이라는 예약어를 사용한다.

또 다른 한가지 방법은 전역변수를 저장하는 시스템 배열인 $GLOBALS를 사용하기도 한다.

상수는 한번 정의되면 변수가 아니기 때문에 프로그램의 어느 곳에서나 별도의 표시 없이 사용이 가능하다. C에서는 기억장소의 효율성을 위해서 배열을 매개변수로 이용할 때 스칼라 변수와 다르게 참조에 의한 매개변수 전달 방법을 사용한다. 하지만 PHP는 배열도 연산자 &를 사용하지 않으면 무조건 값에 의한 매개변수 전달방법을 사용한다.

배열을 매개변수로 사용하는 방법보다는 전역변수로 사용하는 것이 기억장소를 절약하게된다.

 

----------------------------------------------------------------------------------------------------------------------

 

전역변수에 관련된 설명이었습니다.

예제를 통해서 전역변수에 대해서 한번 알아보도록 하겠습니다.

 

<?php
define(ADD, 4);
$add =  array(array("홍길동", "컴퓨터", 3, "아라동"),
     array("이몽룡", "물리", 2, "노형동"),
     array("성춘향", "생물", 1, "오라동"),
     array("김홍도", "컴퓨터", 3, "이도동"));

print_array();

function print_array(){
 GLOBAL $add;
 echo "총 학생의 수 =".ADD;
 
 echo "

이름주소
".$add[$i][0]."".$add[$i][3]."
\n";
}

?>

 

출력결과

 

총 학생의 수 =4

이름주소
홍길동아라동
이몽룡노형동
성춘향오라동
김홍도이도동

 

-------------------------------------------------------------------------

GLOBAL를 삭제하시고 해보시기 바랍니다.

 

총 학생의 수 =4

이름주소

 

이렇게 결과값이 나오게됩니다.

-----------------------------------------------------------------------

 

GLOBAL사용과 사용안한것과 별차이 없이 보이신다면은 GLOBAL없이

 

위와 정상적인 출력방법을 알아보도록하겠습니다.

--------------------------------------------------------------------------------

<?php
define(ADD, 4);
$add =  array(array("홍길동", "컴퓨터", 3, "아라동"),
     array("이몽룡", "물리", 2, "노형동"),
     array("성춘향", "생물", 1, "오라동"),
     array("김홍도", "컴퓨터", 3, "이도동"));

print_array($add);

function print_array($add1){
 
 echo "총 학생의 수 =".ADD;
 
 echo "

이름주소
".$add1[$i][0]."".$add1[$i][3]."
\n";
}

?>

 

위 방법은 이전에 배웠던 내용입니다. 함수의 실 매개변수와 형식 매개변수를 적용한 것입니다.

------------------------------------------------------------------------------

 

<?php
define(ADD, 4);

print_array();

function print_array(){
 
 $add =  array(array("홍길동", "컴퓨터", 3, "아라동"),
   array("이몽룡", "물리", 2, "노형동"),
   array("성춘향", "생물", 1, "오라동"),
   array("김홍도", "컴퓨터", 3, "이도동"));
 
 echo "총 학생의 수 =".ADD;
 
 echo "

이름주소
".$add[$i][0]."".$add[$i][3]."
\n";
}

?>

 

또 하나는 함수의 안에서 매개변수를 정의하는 방법입니다.

-----------------------------------------------------------------------------------------

 

 

통계분석을 위해 매체별 전용URL 사용해주세요.
불타는면빨님의 포스트
최근 리스트
리스트가 없습니다.