변수명과 가변 변수명의 표기법에 관한 질문입니다.

변수명과 가변 변수명의 표기법에 관한 질문입니다.

QA

변수명과 가변 변수명의 표기법에 관한 질문입니다.

본문

안녕하세요.  


변수명 표기법에 관하여 질문을 드립니다. 너무 기초적인 지식인데요 ..ㅋㅋ


${"GLOBALS"}["hhghqebfwbt"] 표기법과 $GLOBALS[hhghqebfwbt] 표기법은 같지 않나요?

${${"GLOBALS"}["qfhpfbnh"]} = ${${"GLOBALS"}["tsktwqswiyse"]} - (60 * 60); 이 표현식과
$$GLOBALS[qfhpfbnh] = $$GLOBALS[tsktwqswiyse] - (60 * 60); 표현식은 같지 않나요?

변수명이나, 가변 변수명에 {}기호와 , "" 기호 , 그리고 공백, 줄바꾸기 부호가 많이 들어 있어 보기도 힘들고, 더 헷갈리네요.

바쁘신 시간이지만, 변수명 표기법에 대해서 좀 설명해주시면 대단히 고맙겠습니다 ... ^0^ 

 


function cheditor_oldfile_delete() {
    global $g_now_time, $morning_cheditor_table;
    ${"GLOBALS"}["hhghqebfwbt"] = "query";
    ${${"GLOBALS"}["qfhpfbnh"]} = ${${"GLOBALS"}["tsktwqswiyse"]} - (60 * 60);
    ${${"GLOBALS"}["hhghqebfwbt"]} = morning_query("select *from $morning_cheditor_table where register_date < $del_time"); 
    } 

이 질문에 댓글 쓰기 :

답변 1

먼저 $GLOBALS["hhghqebfwbt"] 와 $GLOBALS[hhghqebfwbt] 는 결과적으로는 같습니다.

설정상 $GLOBALS[hhghqebfwbt] 이러한 변수표현에 대하여 허용이 되어 있느냐 아니냐의 차이입니다.

원래 php설정에서 모든 애러 표시를 하고 나서 $GLOBALS[hhghqebfwbt] 이런 변수를 사용하면 오류는 아니지만 경고 메시지가 출력이 됩니다. 경고 메시지의 내용은 변수 옆에 [] 대가로의 문자열은 따옴표로 묶어주어야 한다는 겁니다. 문자가 아닌 숫자의 경우에는 따로 묶어주지 않고 $GLOBALS[1] 이런식으로 가능하고요.

즉 원래 제대로된 표기 방법은 $GLOBALS["hhghqebfwbt"] 이게 맞습니다.

 

그리고

${${"GLOBALS"}["qfhpfbnh"]} = ${${"GLOBALS"}["tsktwqswiyse"]} - (60 * 60);

$$GLOBALS[qfhpfbnh] = $$GLOBALS[tsktwqswiyse] - (60 * 60);

이 부분도 마찬가지로 대가로 안의 문자열은 따옴표 부분으로 묶어주어야 하며 공백과 줄바꾸기는 지금 소스와 같은 정도는 많은 정도가 아니라 적당한 정도라고 생각합니다. 공백과 줄바꾸기가 적당히 있으면 다른 사람이 소스를 보았을 때도 정돈이 되어 보이기 때문에 반드시 행해야 하는 부분이며 나중에 본인이 유지보수를 하게 되더라도 한 눈에 알아 볼 수 있기 때문에 좋습니다.

또 {} 중가로 부분은 쓰는 이유가 있습니다.

${"변수명"} 이러한 경우 $변수명 과 같겠지요.

하지만 변수명이 동적으로 변화해야 한다면?

for($i=0; $i<5; $i++){

  ${"변수명".$i} = 1;

}

이런식으로 쓸 수가 있겠죠.

하지만 $변수명{$i} 이렇게는 안되니 참고하세요!

또한 $변수명 = "사과"; 라고 들어가 있을 때

$$변수명 = "과일"; 이라고 정의를 하면 결과적으로는 $사과 = "과일"; 이라고 넣은 것과 같습니다. 

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

회원로그인

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