묻고답하기

<1번소스>
1행 <?
2행 function sum(){
3행              $a=10;
4행              static $a=20;
5행              $a++;  
6행              echo $a."<br>";  
7행              }
8행   sum();
9행   sum();
10행 sum();
11행 ?>

<1번소스 결과>
21
22
23

1번 소스의 경우에는 3행에 $a값이 할당된 후에 다시 4행에서 static선언자를 사용하여 $a에
20이라는 값을 재할당하였어요, static이라는 선언자는 처음에 한 번만 변수에 할당된 값을
사용하고, 그 이후 부터는 메모리에 저장되어 있는 변수 값을 사용하는 것이라는 답변을 받았거든요...
그래서 8행에서 sum()함수를 호출했을 때 $a의 값은 21이 나오는구나...
그리고 9행에서 sum()함수를 다시 호출했을 때 3행의 $a=10이라는 값을 재할당 받지 않고,
메모리에 저장되어 있는 21이라는 값을 사용하여 $a의 값이 22가 나오는 구나...
마찬가지로 10행에서 sum()함수를 또 다시 호출하였을 때도 마찬가지 경우로 23이 나오는
구나...이렇게 생각들더라구요...
그래서 static이 while구문에서 사용됐을 때도 마찬가지의 결론이 나올까? 하고 다음과 같이
코딩을 했어요..


<2번소스>
1행 <?
2행 $b=20;
3행 while($b<=23){
4행              $b=10;  
5행              static $b=20;  
6행              $b++;    
7행              echo $b."<br>";  
8행              }
9행 ?>

<2번소스 결과>
21
11
11
11
.
.
.
(11값만이 무한루프됨)

이번에는 1번소스와는 달리 이런결과가 나오네요..ㅡㅡ;;
1번 소스에서 처럼 4행에 $b에 10이 할당한 후에 다시 5행에서 static 선언자를 사용하여
$b 에 20이 재할당되었으므로 1번째 실행에서는 21이라는 값이 출력된 것이고...
그 다음에 static의 특성에 의해 4행에서 $b에 10이 할당되더라도 이 값을 사용하지 않고,
메모리에 저장되어 있는 21이라는 값을 사용하여 2번째 실행되었을 때 22이라는 값이 출
력되고 3번째 실행되었을 때는 23이라는 값이 출력되어야 하는 것이 아닌가요??

아~ 많은 분들께서 좋은 답변으로 도와주시는데도, 이렇게 이해를 못하는 제가 이제는
부끄럽습니다. ...ㅡㅡ;
그래도 답변 해주시면 더할나위 없이 감사하구요...(__);;
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
왕태용 질문입니다. 꼭 답변 부탁드립니다. [1] 2007.08.10
허상문 초보인데요..궁굼합니다..꼭좀 갈켜주세요/./// [2] 2007.08.10
미자 mail 함수 관련 질문입니다..  
미자 제로님 강의하셨던 카운터를 쓰는데 쿠키에러가.. [2] 2007.08.10
난초보ㅠㅜ 정말 초짜 질문입니당 -_ㅠ; [1] 2007.08.10
김지훈 제발 도와주세요!T_T PHP문제인듯한데  
정세현 스크롤바 색깔 바꾸는 거는 알겠는데요.... [1] 2007.08.10
꿈을잃은자 제로보드에서 말이죠- [1] 2007.08.10
제르딘 화면이 비틀(?)어진다고 해야하나요? 음.. [4] 2007.08.10
전민영 그림 넣을때요.. [5] 2007.08.10
포토샵 7.0을 깔았는데... [1] 2007.08.10
김민규 static선언자에 대한 질문여. [2] 2007.08.10
스윙 폴더를 클릭하면 다 새창이 뜨고, 윈도우 미디어 플레이어 이상해요-_ㅠ [1] 2007.08.10
이인종 동영상 위치숨기는법 없을까요? [1] 2007.08.10
김민성 노프레임홈을 만들었는데. 고민이... [4] 2007.08.10
김장현 [질문] 윈도XP에서 로컬호스트와 IP의 차이점은??? [2] 2007.08.10
whitefox [질문] 계정을 살려고 하는데.. [5] 2007.08.10
이인종 동영상을 계정에 업로드해서.. [2] 2007.08.10
이인종 미디어플레이어7 창을 움직여야 동영상이 움직여요;_ㅠ_ㅠ [3] 2007.08.10
은석호 정말 초보적인 질문입니다.. [2] 2007.08.10
phase href=# 에 관한 질문입니다. [5] 2007.08.10
에리™ 레이어 메뉴질문!!~ [2] 2007.08.10
net맨™ 저 이 질문에 답좀 [2] 2007.08.10
나잉쿠 iframe 에서요. 글쓸때 텍스트에이리어 처럼 크기 조정 가능할까요? [3] 2007.08.10
Elfish 포토샵에서 폰트가 안 떠요.  
여우비 플래시관련 질문입니다 [1] 2007.08.10
김상화 기초질문인가-_-;;; 홈ㅍㅔ이지 테두리요~ [1] 2007.08.10
김만철 [질문][iis+mysql+php][많은사용자의 access로 페이지를 표시할 수 없습니다..]  
이인종 ASF<->WMV 마이크로 소프트 엔코더7.0으로.ㅠ_ㅠ  
이동인 간단한 질문 답변 빨리요~ [1] 2007.08.10