묻고답하기

질문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 남기남
GREATGUY 해외에서 회원가입 할 때 에러가 뜨는 경우가 있나요?  
KaelXP 업데이트 할 때 레이아웃 초기화 문제입니다. file  
레오나 관리자페이지 서버정보 출력시 php 설정정보가 다르게 나와요 [10] 2015.04.15 by 큰바위
자폭병비버 기타 홈페이지에 XE로그인하는 법... [1] 2015.04.15 by 자폭병비버
NKorea 이미지 본문삽입시 사진과 사진사이 간격을 주고싶습니다.  
디노51846 홈페이지 bgm에 대해서 질문합니다 [2] 2015.04.15 by 디노51846
김동하123 이 게시판에서 예를 들면 [2] 2015.04.14 by 김동하123
xelomero 마켓플레이스 위젯으로 불러오기 가능한가요? [2] 2015.04.14 by xelomero
NKorea 개인서버 xe백업 어려움이 있습니다 도와주세요 ~~  
김동하123 확장변수 전화번호에 대해서 [2] 2015.04.14 by 김동하123
김동하123 마켓플레이스 지역 추가 가능한가요? [2] 2015.04.14 by 김동하123
kdp XE XML 쿼리는 이중 쿼리가 지원이 안되나요? [6] file 2015.04.14 by kdp
Funnel 게시판 업로드 용량 제한이 안 풀립니다... [1] 2015.04.14 by I-JEX
그림도둑 게시판에서 제목 부분을 다른 문구로 바꿀 수 있을까요? [3] file 2015.04.14 by Podongi
roatt 값이없으면 확장변수 안나오게 [2] 2015.04.14 by roatt
플라이나 게시판에 확장변수를 이미지로 나타내고있는데요 이미지 비율문제 [6] 2015.04.14 by 플라이나
yunsel 회원가입시 임의로 만든 테이블에 아이디와 비밀번호 저장하는 방버 아시는분 있나요? [5] 2015.04.14 by SOFTA
김동하123 링크게시판의 새창으로 가기와 그 자리에 띄우기 [2] 2015.04.14 by 김동하123
김동하123 게시글을 순서가 아닌 랜덤하게 나오게 하는 법  
다복이네집 프로필 이미지가 DB에 저장이 되나요? [4] 2015.04.14 by 다복이네집
putty 팝업 애드온 2개 실행시 1개가 안되는 문제  
김박이 xe설치 풀더 병격 오류?  
bbkk 홈페이지 이전 도전중입니다. 아무것도 안떠요 [3] 2015.04.14 by bbkk
한번만더사 IP 밴 시키는 방법 ? [1] 2015.04.14 by DoorWeb
엘디일 특정 게시판 파일 첨부 필수로 하는 방법이 알고싶습니다 [4] 2015.04.14 by 엘디일
열수학 본문 여백(위젯 여백 설정) [1] file 2015.04.14 by DoorWeb
88번타자 페이지쫌 찾아주세요 도와 주세요.ㅠㅠ [1] 2015.04.14 by 몽실아빠
가필드3D cafe24 호스팅에 xe 1.8 설치 도중 php 버전 오류 시 대처법이 무엇인가요? [3] 2015.04.14 by 가필드3D
몽실아빠 XE자료의 파일을 웹브라우저에서 실행한 것과 같은 효과를 서버스스로 ? [8] 2015.04.14 by Lansi
서버링 업로드 된 파일이름을 제목으로 목록 등록... [1] 2015.04.14 by DoorWeb