묻고답하기

질문1)

몇 일 전에 아래의 소스를 제시하고, 1번 소스는 정상실행이 되는데,
2번소스는 왜 무한루프가 걸리는지를 질문했었어요.
그 때의 소스를 보여드리자면,...

<1번소스>
1행 <?
2행 $a=70;
3행 while($a<=80){
4행          if($a<=80){
5행                  echo $a."<br>";
6행                  $a++;
7행                        }
8행               else{
9행                      break;
10행                    }
11행               }
12행 ?>

<2번소스>
1행 <?
2행 while($a<=80){
3행 $a=70;
4행          if($a<=80){
5행                  echo $a."<br>";
6행                  $a++;
7행                        }
8행               else{
9행                      break;
10행                    }
11행               }
12행 ?>

물론 여러분들은 알고 계시겠지만, 제가 알아낸 사항은 바로...~

while, for, if 등과 같은 조건식내에 있는 변수는 일반적인 변수와 같은
"정적변수"의 특성을 가지고 있고,
while, for, if 구문의 중괄호{} 안에 있는 변수들은 function xxx(){}와
같이 함수의 중괄호{}내에 있는 변수와 같이 한 번 실행되면, 사라지는
특성을 지닌 변수이다.

라는 것을 알아냈는데, 이와 관련된 사항을 말씀드리자면...

1행 <?
2행 while($a<=80){
3행 $a=70;
4행          if($a<=80){
5행                  echo $a."<br>";
6행                  $a++;
7행                        }
8행               else{
9행                      break;
10행                    }
11행               }
12행 ?>

이 소스내용 중에 3행의 $a=70; 앞에 static을 붙이면, 무한루프가 안 걸리고,
정상적으로 값이 70~80까지 출력이 된다는 거죠^^

그리고, 위의 소스를 함수로 표현해봤는데요,...

1행 <?
2행 function sum(){
3행                        $a=70;
4행                        echo $a."<br>";
5행                        $a++;
6행                        }
7행 sum():
8행 sum():
9행 sum():
10행 sum():
11행 sum():
12행 sum():
13행 sum():
14행 sum():
15행 sum():
16행 sum():
17행 sum():
18행 ?>

이와 같이 코딩을 했다면, 70이라는 값이 11번 출력되었겠지만, 만약 3행의
$a=70; 앞에 static을 붙이게 되면 70~80까지 출력이 되더라구요~^^
그래서...

while, for, if 구문의 중괄호{} 안에 있는 변수들은 function xxx(){}와
같이 함수의 중괄호{}내에 있는 변수와 같이 한 번 실행되면, 사라지는
특성을 지닌 변수이다.

라는 결론이 나더라구요...맞나요??

질문2)
제가 보고 있는 책에는 static 선언자는 오직 함수내에서만 사용된다고
나왔는데, 위에서 제가 설명한 것 처럼 구문내에서도 사용하는 것이
정상적인 방법인가요??
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
정윤진 ftp 루트로는 적용이 안되여... [1] 2007.08.10
김경환 form관련질문 입니다 [5] 2007.08.10
이종철 투프레임에서 최근게시물 문제입니다. [2] 2007.08.10
조규정 onfocus가 사용됬을때,.... [1] 2007.08.10
kunbi 꼭 좀 알려주세요~!!!!!!!! [3] 2007.08.10
김현진 홈페이지에서 msn 친구추가하기 소스좀 부탁드릴께요~ [1] 2007.08.10
이병희 최근게시물 게시판은 어떻게 생성하나요? <초보> [1] 2007.08.10
착한여자 비번을 잃어버렸어요.. [6] 2007.08.10
주노 계정 백업 방법에 대해 질문..(정말다급합니다.ㅠㅠ) [1] 2007.08.10
프로즈 최근 게시물 오류나요...알려주세요..;; [1] 2007.08.10
제플™ 리눅스에서 JSP서비스 해보신 분들 답좀 해주세요.. ^^  
김현남 APM 상에서 ASP는 사용이 안되나요? [3] 2007.08.10
김진영 이 자바메뉴 어떻게 사용하나요? -그림첨부 [3] 2007.08.10
서버공부중 마우스 갖다 대면 글자가 진하게.. [4] 2007.08.10
기다림 if문 아래에 switch 문 돌릴수 있나요? [1] 2007.08.10
레인 파일등록정보에 나오는 size와 size on disk 설명 좀... [3] file 2007.08.10
슈퍼왕뚜껑 최근게시물을 카테고리별로 보여줄수 있을까요?? [1] 2007.08.10
☺호프 ""제어판 > 글꼴 > 새글꼴추가"" 가 없어요>_< [3] 2007.08.10
egowyz 게시판 만들기 숙제인데 도와주세요 [2] 2007.08.10
이인종 작은 동영상 올릴만한 무료계정 찾고있는데요 [1] 2007.08.10
[포터]아렌티 으앙 뭐가 잘못된거죠? [1] 2007.08.10
물탱이 서브레이어 만드는거에서.. 상대위치를 지정하는 방법?  
김남웅 웹메일에서 첨부파일 문제  
메이초롱 asf를 mp3로 바꾸는 플그램좀...  
김민규 구문에 대한 마지막 질문이기를 바라며...-_-;  
net맨™ 원프레임으로 홈만들때염... [4] 2007.08.10
남현주 스크롤바요.. [2] 2007.08.10
김지훈 제로카운터어어!!방문자숫자가아아!!!!!!  
제플™ 리눅스와 톰캣에 대해서 쫌 안다고 생각하시는 분들 답좀 주세요~  
net맨™ 답변을 기다림 [3] 2007.08.10