채택완료

$$session_name게 맞는 표현인가요?​

2015-05-19 (화) 09:27:44 4,661

// 세션변수 생성

function set_session($session_name, $value)

{

    if (PHP_VERSION < '5.3.0')

        session_register($session_name);

    // PHP 버전별 차이를 없애기 위한 방법

    $$session_name = $_SESSION[$session_name] = $value;

}

영가트 세션선언함수를 보니 아래와 같이 되어 있엇습니다. 오류인지요?

  $$session_name게 맞는 표현인가요?

|

답변 3개

채택된 답변
+20 포인트
2015-05-19 (화) 09:47:02

네 맞습니다

위와같은 변수를 가변변수라고 합니다

변수를 변수로 가져다 쓰는 형태의 변수라고 보시면 됩니다

$a = "hi";

$$a = "hahaha";

위와 같이 변수를 설정했다면 값을 확인해보시면 이해가 좀더 빠릅니다

echo $a; ======> hi  

echo $$hi ======> hahaha

이런식으로 $a 에서 정의한 변수의 값을 변수로 만들어 버리는 것입니다

즉 $hi = "hahaha"; 이렇게 되버리는거죠

이러한 형태로 변수들을 응용해서 사용할 때 사용합니다

즉 $$session_name 의 값에는 $value의 값 자체를 변수로 가져오는게 되겟지요 

두분다 감사합니다. 행복한 하루 되세요

맞는 표현입니다. 구어체로 겹달러 라고 쓰기도 하는데요 ^^; 정식명칭은 기억이 안나네요.

$session_name 을 인자로 받는 함수이기 때문에 (인자에는 $ 가 빠진 상태로 변수명만 들어오겠죠?)

만약 초기에 세션을 생성할때 세션명을 $user_sess 라고 선언했다면

함수에 인자에서는 "user_sess" 가 넘어올것이고

$ + ($session_name)  -> $ + (user_sess) -> $user_sess 로 변수가 되게끔 만드는 표현법입니다.

답변을 작성하려면 로그인이 필요합니다.