묻고답하기

아~ 미치겠네요...제가 너무 미련한 탓인지..아직도 이해가 안가네요 ㅡㅡ;;
너무 죄송스러워요,
많은 답변을 받았음에도 불구하고, 이해를 못하고 있는 제가 한심하기 까지
하네요~ 에휴~

질문1)
이번에는 다른 방향으로 질문을 드려볼께요~
예를 들어

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

이렇게 코딩을 했을 때 결과는

11
11
11

이렇게 나오잖아요, 즉, 7행에서 sum() 을 실행하였을 때 4행에서 $a++을
하여 3행 $a에11이 저장되지만, 함수가 종료되고 나면 3행 $a의 11이라는
값은 사라지게 되어 다시 8행에서 sum()을 실행하더라도 다시 11이라는
값이 출력되는거라고 생각이 되거든요,
만약 3행 $a에 static을 붙일 경우 4행 $a++ 를 한 11이라는 값이 3행 $a에
저장되고 함수가 종료되더라고 3행 $a에는 11이라는 값이 그대로 저장되어
있기 때문에 8행에서 다시 sum()을 실행하였을 때 12라는 값이 출력되는
거라고 생각되거든요...

그렇다면, 아래의 소스의 경우

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

4행 $a의 변수는 while구문이 반복되는 중에 변수값이 사라지지 않는다는
답변을 받았는데요...
그렇다면 6행 $a++ 한 값이 4행 $a에 저장되어 매번 반복할 때마다 4행
$a의 값은 70, 71,72,73,74....이런식으로 값이 증가되어야 하는거 아닌가요??
그렇게 되면, 무한루프가 걸리지 않을거라는 생각이 드는데...(물론 결과는
무한루프지만요...ㅡㅡ;;)

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

위의 소스가 처리되는 과정을 아래와 같이 풀어서 코딩해 봤는데, 맞는지
한 번 봐주세요...

1행 <?
2행 $a=10;
3행 $a++;
4행 echo $a."<br>";

5행 $a=11
6행 $a++;
7행 echo $a."<br>";

8행 $a=12
9행 $a++;
10행 echo $a."<br>";

맞나요??

질문3) 이번이 마지막 질문...^^;;;;
제가 보고 있는 책의 내용중...

1행 <?
2행 $a=100;
3행 $b=200;
4행
5행 function sum(){
6행                        global $a,b;
7행 $b=$a+$b;
8행 }
9행 sum();
10행 echo "변수 b의 값은 ".$b."입니다.";
11행 ?>

위의 예제에서 6행의 전역변수 설정이 있을 때와 없을 때의 결과는 어떻게 될까?
만일 6행이 없을 경우에는 함수 내의 변수 $a와 $b는 함수 밖으로 벗어나질 못
하므로 10행에서 출력되는 $b는 동일 영역인 3행에서 정의된 변수 $b의 값 200
으로 출력된다.
그러나 6행처럼 변수 $a와 $b를 global 선언자를 이용하여 전역변수로 설정하면
함수내의 변수 $a와 $b는 각각 100과 200이라는 값을 가지게 되므로 7행에서는
100과 200을 더한 값이 변수 $b에 재할당되어 10행에서 $b의 값으로 300이 출력
된다.

여기까지가 제가 보고 있는 책에 나온 내용을 적은 것이구요,
해설 내용중에

"100과 200을 더한 값이 변수 $b에 재할당되어 10행에서 $b의 값으로 300이 출력
된다"

라고 나와 있는데, 여기서 변수 $b에 재할당 되는 것은 3행의 $b변수에 재할당된
다는 것을 뜻하는 것인가요? 아니면 7행의 $b에 재할당된다는 것인가요??

아~ 정말로 죄송해요...그러나 이런질문을 드리는 저는 오죽하겠어요..ㅠㅠ
몇 일 째 이것들 때문에 고생하네요, 이럴때는 멍청한 제가 한심하게 생각되네요,
아마 위의 3가지 질문을 모두 같은 종류의 질문이라고 생각하실 거예요,
물론 여러개 질문을 드리는 것이 도리가 아닌것으로 알지만...3가지의 질문에
대한 답변을 종합해서 다시 한 번 제가 정리를 해보기 위해 질문을 드린 것이니,
이해해주세요..ㅡㅡ;;
그리고, 항상 좋은 답변을 주셨던 분들께 감사드리구요...(__)
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
최순병 기본적인 태그질문 ㅡㅡ;; [3] 2007.08.10
선우희 런타임 오류 [2] 2007.08.10
김상훈 로그인 때문에 질문합니다.  
Aya마츠리 FTP 에서 말입니다. [2] 2007.08.10
김진철 플래시와 html의 책갈피를... [2] 2007.08.10
배틀매냐 암호화 되있는거 어떻게 푸나요?ㅡㅡ;; [1] 2007.08.10
서창민 크롬리스에서 페이지 이동(뒤로가기, 앞으로가기) 먹통 문제 [1] 2007.08.10
yunjinho 제로보드 홈피같은 메뉴... [1] 2007.08.10
허진규 플래쉬 자바스크립트 연동하는 방법좀알려주세요 ^ ^  
Elfish 폰트가 뜨지 않아요 [2] 2007.08.10
김영미 asx 파일을 웹페이지에서 재생하려면? [3] 2007.08.10
김남웅 같은 폼 객체 내용 값을 변수로 쓰고 싶은데요..ㅜ.ㅡ [1] 2007.08.10
서버공부중 이런질문 해도 되는지...;; [1] 2007.08.10
깡s™ 이걸여따써도되나-_-a 죄송하지만 이거에 답변좀 ^^ [2] 2007.08.10
ㅡㅅㅡㅋ 포토샾에서.. 레이어가 안만들어집니다.. [2] 2007.08.10
소허 tr 에 마우스가 올라가면 background 이미지가 보이게 하고 싶습니다. [1] 2007.08.10
김경현 [질문] 특정 문자열과 문자열 사이의 내용을 읽어들여...  
[포터]아렌티 클릭하면 쪽지 보내기 -_- [1] 2007.08.10
왜날쀍zyose 링크중에. [1] 2007.08.10
쌔끈남 저겨 창을 작게 줄이면 만든 페이지가 깨지는데.. [1] 2007.08.10
김동은 제로카운터에서.. [1] 2007.08.10
DataPark 도스 프로그램 실행시킬때 창 안뜨게 할순 없나요? [5] 2007.08.10
김수정 이상하게 css가 적용이안됩니다..ㅠㅠ [1] 2007.08.10
서버공부중 이폰트의 이름과 다운 받는 곳은? [2] 2007.08.10
Clara Kim 날짜를 이용한 이미지를 콤보 박스로 이용해서 하루하루 출력하는 방법...??? [2] 2007.08.10
Clara Kim 질문있습니다!! 흠.... 스크롤에 따른 레이어 이동 질문! 스크롤을 움직여야 내용이 보이네여.. ㅜㅜ [1] 2007.08.10
정지성 배경음악에 대해 질문좀하겠습니다..^^; [2] 2007.08.10
Nova 12시간 단위로 나오는 걸 6 시간 단위로 바꾸고 싶습니다. [2] 2007.08.10
야후,네이버,엠파스 같은 검색사이트... [1] 2007.08.10
박경찬 nzeo 위의 메뉴 구현 방법.. [1] 2007.08.10