php 에서 변수 스코핑에 관해서 궁금증이 있습니다.

vudghkzm의 이미지

아래의 코드를 실행하면 9가 찍히더군요.

for ($count = 0; $count < 10; $count++) {
    $i = $count;
}

print $i;

전 지금까지 아래와 같이 변수 $i 를 for 구문 밖에 선언해 두는 식으로 코드를 작성했는데 말이죠... -_-

$i = 0;

for ($count = 0; $count < 10; $count++) {
    $i = $count;
}

print $i;

첫번째 코드에서 어떻게 변수 $i 가 for 구문 밖에서도 visible 하는 걸까요?
php 의 변수 스코핑 룰이 도대체 어떻게 되는 것인지 궁금합니다.

JuEUS-U의 이미지

불쌍하긴 하지만 for문은 영역으로 안쳐준답니다 :D