묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
지역과 전역변수에 대한 질문이요..
2003.01.08 01:42
제가 현재 보고 있는 책에 다음의 예제와 설명이 나와 있거든요...
그런데 궁금한 점이 생겨서 이렇게 질문을 드려요...
우선 예제를 보여 드릴께요~
<예제>
01행 <?
02행 $a=100;
03행 $b=200;
04행
05행 function sum(){
06행 global $a,$b;
07행 $b=$a+$b;
08행 }
09행 sum();
10행 echo "변수 b의 값은 ".$b." 입니다.<br>";
11행 ?>
예제는 위와 같구요...다음은 책에 나온 설명부분입니다.
위의 예제에서 6행의 전역변수 설정이 있을 때와 없을 때의 결과는 어떻게 될까?
만일 6행이 없을 경우에는 함수 내의 변수 $a와 $b는 함수 밖으로 벗어나질 못하
므로 10행에서 출력되는 $b는 동일 영역인 3행에서 정의된 변수 $의 값, 200으로
출력된다.
그러나 6행 처럼 변수 $a와 $b를 global 선언자를 이용하여 전역변수로 설정하면
함수내의 변수 $a와 $b는 각각 100과 200이라는 값을 가지게 되므로 7행에서는
100과 200을 더한 값이 변수 $b에 재할당되어 10행에서 $b의 값으로 300이 출력
된다.
이와 같이 설명이 책에 나와 있거든요
여기서 질문이 있어요...(너무 유치한 질문이라고 뭐라하지 마세요...^^;;)
책의 설명부분중에
"100과 200을 더한 값이 변수 $b에 재할당되어 10행에서 $b의
값으로 300이 출력된다."
라고 나와 있는데, $b에 재할당된다는 말이 3행에 있는 $b에 300이라는 값이
재할당된다는 뜻인가요??
그래서 10행에서 $b 의 값이 3행에 있는 값을 가져와서 300이라는 값을 출력
한다는 뜻인가요??
참~ 유치한 질문을 드렸는지 모르겠지만...저는 돌다리도 두둘겨 보고 건너자~
라는 차원에서 질문을 드린 것이니까요~
좋은 답변 부탁드려요~ (__)
그럼 새해 복 많이 받으세요~ ^^
그런데 궁금한 점이 생겨서 이렇게 질문을 드려요...
우선 예제를 보여 드릴께요~
<예제>
01행 <?
02행 $a=100;
03행 $b=200;
04행
05행 function sum(){
06행 global $a,$b;
07행 $b=$a+$b;
08행 }
09행 sum();
10행 echo "변수 b의 값은 ".$b." 입니다.<br>";
11행 ?>
예제는 위와 같구요...다음은 책에 나온 설명부분입니다.
위의 예제에서 6행의 전역변수 설정이 있을 때와 없을 때의 결과는 어떻게 될까?
만일 6행이 없을 경우에는 함수 내의 변수 $a와 $b는 함수 밖으로 벗어나질 못하
므로 10행에서 출력되는 $b는 동일 영역인 3행에서 정의된 변수 $의 값, 200으로
출력된다.
그러나 6행 처럼 변수 $a와 $b를 global 선언자를 이용하여 전역변수로 설정하면
함수내의 변수 $a와 $b는 각각 100과 200이라는 값을 가지게 되므로 7행에서는
100과 200을 더한 값이 변수 $b에 재할당되어 10행에서 $b의 값으로 300이 출력
된다.
이와 같이 설명이 책에 나와 있거든요
여기서 질문이 있어요...(너무 유치한 질문이라고 뭐라하지 마세요...^^;;)
책의 설명부분중에
"100과 200을 더한 값이 변수 $b에 재할당되어 10행에서 $b의
값으로 300이 출력된다."
라고 나와 있는데, $b에 재할당된다는 말이 3행에 있는 $b에 300이라는 값이
재할당된다는 뜻인가요??
그래서 10행에서 $b 의 값이 3행에 있는 값을 가져와서 300이라는 값을 출력
한다는 뜻인가요??
참~ 유치한 질문을 드렸는지 모르겠지만...저는 돌다리도 두둘겨 보고 건너자~
라는 차원에서 질문을 드린 것이니까요~
좋은 답변 부탁드려요~ (__)
그럼 새해 복 많이 받으세요~ ^^