[PHP] 변수 누수 문제

[원본 링크]

PHP는 여러모로 나사가 빠져있는 언어다. 함정도 많고, 언어 자체의 결함적인 부분도 많고.

그 중차대한 결함 중 하나가 바로 변수의 누수다.

기본적으로 php의 변수는 스코프란 개념이 없다.
그래서 만약 다음과 같이 격리된 if 스코프 내에서 변수를 만들었더라도,

질질 새어나와서 밖에서도 사용을 할 수가 있다.
php에 스코프단위의 라이프타임 관리 따위는 존재하지 않기 때문이다.

이건 특히 루프를 사용할 때 유의해야 한다.
루프 내에서 한번 할당이 됐다면, 초기화를 하지 않는 이상 예전에 한번 할당한 상태가 계속 유지가 되기 때문이다.
그게 현재 반복 상태에 맞지 않는 값이라도.