value='{$mb_1}' ... {} 를 쳐주는 이유가 궁금해요 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

value='{$mb_1}' ... {} 를 쳐주는 이유가 궁금해요 정보

value='{$mb_1}' ... {} 를 쳐주는 이유가 궁금해요

본문

<input type='hidden' name='mb_1' value='{$mb_1}'>

위와 같은 것을 발견했는데...

value='{$mb_1}'>

여기서 {}로 왜 감싸주는거죠?
  • 복사

댓글 전체

$mb_1의 경우 어디까지가 변수일까요? $mb 일까요? $mb_1 일까요?
헷갈리는 경우가 있을 수 있습니다.
그래서 어디까지가 변수인지 php에서 헷갈리지 않게 표시해 주는 것 입니다.
이야 이런 멋진 뜻이;;
근데 불당님,
그 많은 그누 소스에는 {} 이것을 항상 mb_?? 에 감싸주진 않는데요.
왜 특정한 것에만 {}로 감싸주는거죠? 근접 문자와의 혼동 가능성이 있을 때 그러는 것인지요? 근데 아래를 보면 '' 으로 감싸져서 명확하게 변수값이 구분이 되는데.... ;;;

register_form_update.php 하단에서 아래를 찾았거든요.

<input type='hidden' name='mb_id' value='{$mb_id}'>
<input type='hidden' name='mb_1' value='{$mb_1}'>
<input type='hidden' name='mb_password' value='{$tmp_password}'>
이어서 또 질문인데요..
그 헷갈리는 주체가 프로그래머, 즉 사람인가요 아니면 컴퓨러 인가요??
사람이라면 .... {}이 필수는 아니겠네요. 그쵸?
프로그램에서 가끔 헷갈릴때가 있어요. 자주는 아니구요.

$sql = "select from a where aa = '$list[$i][$j][ggg]'  ";

이경우 php에서 어디까지를 변수라고 인식할까요? 정답은 $list[$i][$j] 입니다.

그래서 오류가 없으려면 둘중의 한가지 방법을 선택해야 합니다. sitemap.lib.php
코딩을 하다가 이것 때문에 한시간쯤 헤메었어요. ㅋㅋ

(1)
$sql = "select from a where aa = '" . $list[$i][$j][ggg] . "'  ";

(2)
$sql = "select from a where aa = '{$list[$i][$j][ggg]}'  ";
답변 달다가 지웠는데 저는 문자열에 변수는 .으로 사용해서  ㄷ ㄷ ㄷ
검색해봤습니다.
http://php.mirror.camelnetwork.com/manual/kr/language.types.string.php

<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works, "'" is an invalid character for varnames
echo "He drank some $beers";  // won't work, 's' is a valid character for varnames
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>

내일 출근해서 살펴봐야겠네요 ^^
멋진 설명이네요. 근데 언더바(_) 가 연결성이 완벽하지 않는 경우도 있습니까?
위의 설명은 변수에 연속으로 다른 문자가 붙을 시 인식하지 못한다는 것을 보여주는것 같은데요.
echo 구문에서 문자열과 변수를 연결해서 사용할때 {}를 사용하는 것입니다. _ 와는 무관합니다.

1. echo "나의 회원 아이디는 $member[mb_id] 입니다."; // 정상출력- 변수뒤에 공백이 있어 변수와 문자열 구분됨
2. echo "나의 회원 아이디는 $member[mb_id]입니다."; //변수와 문자열 연결되어 있어 정상출력 안됨

2번 경우를
echo "나의 회원 아이디는 {$member[mb_id]}입니다.; // 정상출력

와 같이 변경해서 문자열과 변수를 구분해 주는겁니다. 당연히 php 입장에서지요 ^^
불당님 답변처럼 배열은 echo , 변수의 값으로 넣을때는 {}를 감싸주어야 됩니다.
© SIRSOFT
현재 페이지 제일 처음으로