본문 바로가기

스터디/백엔드

우리의 만남 두번째.[PHP 함수종류 상수]

결국 두번째 만남이 지나가고야 말았다.

 

오늘은 또 다른 뉴 멤버와 함께 열띈 강의를 들었습니다.

 

 

 

김밥을 먹었지요 총 3개 뉴 멤버는 도시락을 싸왔습니다.

 

아주 예쁜김밥을 말이죠.

 

 

우선 첫번째 강의는 PHP의 지역변수와 전역변수

 

쉽게 말해 지역에서만 쓰는것이냐 전국에서 쓰는것이냐 라는 거로 생각하면되는데

 

 

지역변수

function varFunc() {
    $var = 10; // 지역 변수로 선언함
    echo "함수 내부에서 호출한 지역 변수 var의 값은 {$var}입니다.
";
}

 

이게 지역변수 예시인데 함수 안에 변수를 선언해서 사용하면 그 함수내에서만 사용할 수 있다.

함수를 벗어나면 의미없는 변수

 

전역변수

$var = 10;      // 전역 변수로 선언함
function varFunc() {
    echo "함수 내부에서 호출한 전역 변수 var의 값은 {$var}입니다.
";
    global $var; // 함수 내에서 사용할 전역 변수를 명시함
    echo "함수 내부에서 호출한 전역 변수 var의 값은 {$var}입니다.
";
    echo "함수 내부에서 호출한 전역 변수 var의 값은 {$GLOBALS['var']}입니다.
";
}

전역변수는 함수밖에 선언된 변수를 함수 안으로 끌어들일 수 있는거라고 생각하면 편합니다.

 

끌어드릴땐 변수명앞에 global 을 앞에 붙여주면 즉시 사용 가능합니다.

 

 

그 외로 저도 한번도 쓰지 않았던 정적변수가 있습니다.

 

상황에 따라 사용할 일이 있을것 같긴한데, 아직까진 제가 활용할 정도로 알지 못해서 사용하지 못했던것 같은데

 

function counter() {
    static $count = 0;
    echo "함수 내부에서 호출한 static 변수 count의 값은 {$count}입니다.
";
    $count++; # $count = $count+1;
}
echo counter();//0
echo counter();//1
echo counter();//2

함수안에서 선언해서 사용해서 지역변수처럼 보이지만 static 을 붙여주어 함수 호출시, 변수값이 없어지지 않고 유지되게 됩니다.

 

 

그 외의 마법상수는 어떤면에선 활용범위가 넓다,

 

참고로 알고 있으면 좋을것 같습니다!

 

 

 

그 외에 프론트는 다음에 작성토록 하겠습니다.

 

즐거운? 두번째 스터디모임끝!