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

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

QA

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

본문

// 세션변수 생성

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

네 맞습니다

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

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

$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 로 변수가 되게끔 만드는 표현법입니다.

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,125 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT