본문으로 바로가기
1. global
함수내부에서 선언되어 있다고 해도 함수 밖에서 사용할 수 있다.
(함수 밖의 변수를 사용해야하는 경우 해당 변수를 global로 선언)
 function counts(){
        global $i;
        $i = $i + 1;
    }
    $i = 0;
    while($i < 10){
        counts();
        print $i." ";
    }

2. static

함수내부에서 선언되어 있는 변수는 함수 밖에서 사용할 수 없다. 
이전 함수 호출시 가지고 있었던 변수의 값을 그대로 사용하고 싶은 경우에 사용한다.
(일반적으로 함수가 끝나면 함수안에 있는 지역변수는 삭제된다. 하지만 삭제를 원하지 않는 경우 정적변수 즉, static 변수로 만들면된다)
function inc(){
        static $i = 1;
        print $i." ";
        $i = $i + 1;
    }
    for($j = 1; $j <= 10; $j++) { inc(); }
   // 1 ~ 10 까지 출력되는데 $i 가 static 선언이 안되어 있으면 계속 1로 초기화 되어서 1만 10번 찍힌다.
3. parameter함수에 있는 변수를 말한다. 당연히 함수밖에선 사용할 수 없다.