묻고답하기

질문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 남기남
박고은 드라이버 설정에서요. [3] 2007.08.10
돌이 테이블에서요.. [2] 2007.08.10
이동한 음.. 일러스트 10 질문할께요 [1] 2007.08.10
곤지 새창 로딩시, 툴바와 상태바 제어 가능한 방법 없나요? [3] 2007.08.10
^0^ 스타일시트가....갈켜주세염 [1] 2007.08.10
서버공부중 고정ip 도메인.. [2] 2007.08.10
세죠위그이 제로보드 공지추출 에서;  
Elfish 저장공간이 부족해서 이 명령을 수행할 수 없습니다. [3] 2007.08.10
이주관 포토샵에서요... [2] 2007.08.10
후아유 제로 카운터 방문 경로 문제  
강은규 아웃로그인 설치가 안되요~~ T.T  
손창윤 이미지를 마우스로 오버시키면 밑에 이미지가 움직이게 하는방법 좀...  
미자 제로보드를 다른계정으로 옮기는데 data 폴더의 접근이 안되네요.. [1] 2007.08.10
안용수 노프레임 홈페이지를 프레임에 넣으면 안뜨는걸 어떻게하죠? [2] 2007.08.10
프로즈 홈페이지 최근 게시물 에러가 나요.ㅡㅡ 알려주세여. [1] 2007.08.10
가이 마우스 오른쪽 버튼 ?? [4] 2007.08.10
Saturn 색을 채우는데... [1] 2007.08.10
박은정 제로보드는 이미지 링크하면 클릭이 되는데...클릭 안되게 하는 법좀... [4] 2007.08.10
김태석 [네트워킹] 이상한 현상 [4] 2007.08.10
지마니 플래쉬 그림파일이... [2] 2007.08.10
net맨™ 답변을 기다림 [3] 2007.08.10
제플™ 리눅스와 톰캣에 대해서 쫌 안다고 생각하시는 분들 답좀 주세요~  
김지훈 제로카운터어어!!방문자숫자가아아!!!!!!  
남현주 스크롤바요.. [2] 2007.08.10
net맨™ 원프레임으로 홈만들때염... [4] 2007.08.10
김민규 구문에 대한 마지막 질문이기를 바라며...-_-;  
메이초롱 asf를 mp3로 바꾸는 플그램좀...  
김남웅 웹메일에서 첨부파일 문제  
물탱이 서브레이어 만드는거에서.. 상대위치를 지정하는 방법?  
[포터]아렌티 으앙 뭐가 잘못된거죠? [1] 2007.08.10