묻고답하기

<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
까꿍이 소스를 열나게 찾아다니고있습니다... [3] 2007.08.10
천하무적 PHP시간함수에 대해서 궁금한거 있어여...^^; [5] 2007.08.10
숑숑숑 이미지 네임 이요, 어케하는건지 알려주세ㅁ요~! [2] 2007.08.10
액션트 이걸 뭐래야 하나.. 여하튼 질문 ;ㅅ; [3] 2007.08.10
불청캑 플래시에서 심볼 등록하는 거여 ㅡㅜ [2] 2007.08.10
다루끼 *^^* 로그인후 해당 페이지로 이동....... [1] 2007.08.10
김창문 하이퍼링크에 파일연결 [1] 2007.08.10
김진수 mysql을 mssql로 변경 가능한가요? [4] 2007.08.10
CiZ ..-_-카운터; 오늘과 어제 카운터의 숫자가 안 올라가네요-_-;;(..총합 부분은 올라가는데;) [1] 2007.08.10
자수정 웹 이미지...주로..어디서 ..찾아서,,,,,,,,??[급함] [3] 2007.08.10
정문수 즐겨찾기 검사해서 안되어있으면 추가메뉴 뜨게 할수 있나요 [1] 2007.08.10
공부하자 플래시요.. [1] 2007.08.10
yunjinho [질문] 도대체 !!! 퍼미션이 뭐냐고 !!!! [4] 2007.08.10
김형기 게시판 글씨 색갈을 수정하고 싶어요.. [1] 2007.08.10
김민규 list와 each함수에 대한 질문여...  
송기섭 HTTP_POST_FILES와 filesize...  
[=NZEO=]killer 배너 관련질문................. [3] 2007.08.10
육용수 제로보드 노프레임 홈 배경문제.. -_- [1] 2007.08.10
안데르센 과연... 한게임 아바타의 비밀은 뭘까요? [4] 2007.08.10
최순병 <PHP>클릭시 화면변경질문.. [1] 2007.08.10
허진규 [re] <PHP>클릭시 화면변경질문.. [1] 2007.08.10
yunjinho [질문] 엔지오 상단 메뉴처럼... 서브메뉴를 만들고싶습니다..  
궁금 경로에 관한 질문... [2] 2007.08.10
류경철 출력관련인데요 뚫훍뚫훍꿻쁑쒥떫뭵휽흏흏흃흃뷁? [2] 2007.08.10
최순병 기본적인 태그질문 ㅡㅡ;; [3] 2007.08.10
선우희 런타임 오류 [2] 2007.08.10
김상훈 로그인 때문에 질문합니다.  
Aya마츠리 FTP 에서 말입니다. [2] 2007.08.10
김진철 플래시와 html의 책갈피를... [2] 2007.08.10