php '' 와 ""의 차이
질답 게시판에
'' 와 "" 에 대한 글이 올라 온김에.
$a = '3';
$b = "3";
$c=3;
기본적으로 php 는 문자열에 '' 를 써야 합니다.
다른 언어는 "" 는 문자열(string), '' 는 문자 하나(char)를 의미하지만
php 에서는 문자열은 '' 를 쓰는 경향이 있습니다... 즉 원칙적으로 php 에서 "" 는 필요 없습니다.
어디에서 봤냐고 하면 그건 . 모릅니다.
그 차이는
echo "$a"; => 3
echo '$a' => $a
에서 알수 있습니다 .
기본적으로 php에서 '' 는 문자열, "" 는 function 입니다.
$a = '하늘';
$b = '눈';
echo "$a에서 $b가 내려 옵니다.";
=> 하늘에서 눈가 내려 옵니다.
echo '$에서 $b가 내려 옵니다.';
=> $에서 $b가 내려 옵니다.
원하는 결과를 얻으려면
echo $a.'에서 '.$b.'가 내려 옵니다.';
라고 해야 합니다.
이렇게 . 을 찍어서 문자열 연결 연산자를 포함 시켜야 합니다.
이것은 생각보다 귀찮은 작업이고 가독성이 떨어져서 "$a에서 $b가 내려 옵니다." 라고 쓰게 됩니다.
sql이나 '' 의 반복적인 사용에서 이와 같은 귀차니즘은 크게 나타납니다.
$age = '20';
$addr= '서울';
echo "내 나이는 '$age'살 이고 주소는 '$addr' 입니다.\n"; // 정상적으로 표현 가능합니다.
// echo '내나이는 '$age살' 이고 주소는 '$add4' 입니다.\n'; // 에러 납니다.
echo '내나이는 \''.$age.'살\' 이고 주소는 \''.$add4.'\' 입니다.'."\n";
라고 쪼개줘야 하는 작업을 해야 합니다.
무엇보다 '\n', '\t' 등이 작동하지 않습니다.
echo '안녕하세요.'."\n";
echo '나이 : '."\t".' 20'."\n";
이처럼 약간은 복잡해져버리고 읽기도 힘들어 집니다.
특히 sql에서는
mysql_query('select * from g4_member where mb_id = \'admin\' ');
정상작동하지 않습니다.
mysql_query("select * from g4_member where mb_id = 'admin' ");
이라고 해줘야합니다.
속도적으로는 '' 의 사용이 "" 보다 는 빠르다고 합니다.
php 스클에서 테스트한거 봤는데 10만건 이하는 'aa' 가 "aa" 보다 빠르고 10만건 이상에서는 "" 가 '' 보다 빠르다고 합니다.
''와 ""의 복합 사용에서는,
echo '제 나이는 '20살' 입니다.' => echo '제 나이는 "20살" 입니다.' 혹은 echo "제 나이는 '20살' 입니다." 로 바꿔야 합니다.
echo "제 나이는 '$member['mb_id']' 입니다."; 를
echo "제 나이는 '$member[mb_id]' 입니다." ;
혹은 echo "제 나이는 '{$member['mb_id']}' 입니다." ;
혹은 echo "제 나이는 '".$member['mb_id']."'입니다." ;
로 바꿔야 합니다.
마찬가지로 ' 제 나이는 "$member[mb_id]" 입니다.';
에러는 안나지만 결과물은 => 제 나이는 "$member[mb_id]" 입니다.
이 경우는 '제 나이는 '.$member['mb_id'].' 입니다.';
참고적으로
echo $member['mb_id'];
echo $member[mb_id];
의 차이와
$_SESSION['mb_id']; 는 'a';
$_COOKIE['mb_id']; 는 'b';
$_GET['mb_id']; 는 'c';
$_POST['mb_id']; 는 'd';
$_CONSTANT['mb_id];는 'e'
$_SERVER['mb_id']; 는 'f'
일때
echo $mb_id; 의 결과 값의 차이는
댓글 2개
11년 전
미래지향적?으로 $_GET['mb_id'] 으로 추천합니다.
예)
?stx=123
$stx <-- x
$_GET['stx'] <-- o
예)
?stx=123
$stx <-- x
$_GET['stx'] <-- o
kiplayer
11년 전
흠냐 정확히는 구분해서 사용하는것이 아닐까요?
전 보통 단순 문자에는 ''을 사용하고 안에 변수가 있다던가 경우에만 ""을 사용합니다.
나중에 제가 구분하기 편하게 하기 위해서 이기도 하구요~
요런 뜻이죠 '' 안에는 변수가 없다 모 이런 ㅋㅋㅋㅋ
결론적으로는 말씀 하신것처럼 ''이 속도 적인 측면에서는 빠르다고 하니 보편적으로는 ''을
쓰는것이 맞지 않을까 싶네용~ ㅎ
전 보통 단순 문자에는 ''을 사용하고 안에 변수가 있다던가 경우에만 ""을 사용합니다.
나중에 제가 구분하기 편하게 하기 위해서 이기도 하구요~
요런 뜻이죠 '' 안에는 변수가 없다 모 이런 ㅋㅋㅋㅋ
결론적으로는 말씀 하신것처럼 ''이 속도 적인 측면에서는 빠르다고 하니 보편적으로는 ''을
쓰는것이 맞지 않을까 싶네용~ ㅎ
게시글 목록
| 번호 | 제목 |
|---|---|
| 26560 | |
| 24588 | |
| 31642 | |
| 31638 | |
| 31633 | |
| 31630 | |
| 31625 | |
| 19452 | |
| 6719 |
개발자
개발자님 찾아요
|
| 6718 |
개발자
제작자구합니다~
|
| 6717 |
개발자
개발자님 구해요
|
| 6715 |
개발자
비용과 기간문의
1
|
| 27797 | |
| 30907 | |
| 30904 | |
| 6714 | |
| 6713 | |
| 27791 | |
| 19450 |
JavaScript
제니퍼소프트, UI 소스 오픈 하여군요
1
|
| 6712 | |
| 6711 | |
| 6709 | |
| 6708 | |
| 27790 | |
| 19447 |
jQuery
좋은... swipe 스크롤
2
|
| 6706 | |
| 6703 | |
| 6702 | |
| 6701 | |
| 6697 | |
| 6692 | |
| 27783 | |
| 6691 | |
| 6687 | |
| 6685 | |
| 6683 | |
| 6682 | |
| 19446 | |
| 27770 | |
| 19445 | |
| 27768 | |
| 6681 | |
| 6675 | |
| 6674 | |
| 19444 |
jQuery
swipe 좌우스크롤
|
| 6672 | |
| 6671 | |
| 27761 | |
| 6670 | |
| 30900 | |
| 24585 | |
| 6660 | |
| 6655 | |
| 6653 | |
| 31624 |
홈페이지기초
HTML과정 - 20. HTML colors
|
| 6651 | |
| 31623 |
홈페이지기초
HTML과정 - 19. HTML iframes
|
| 31621 |
홈페이지기초
HTML과정 - 18. HTML forms
1
|
| 19443 |
MySQL
MYSQL 오늘 날짜 뽑아오기
|
| 6650 | |
| 31620 |
홈페이지기초
HTML과정 - 17. HTML layout
|
| 31619 |
홈페이지기초
HTML과정 - 16. HTML blocks
|
| 31612 |
홈페이지기초
HTML과정 - 15. HTML lists
6
|
| 31611 |
홈페이지기초
HTML과정 - 14. HTML tables
|
| 27746 | |
| 31605 |
홈페이지기초
HTML과정 - 13. HTML images
5
|
| 6648 | |
| 20781 | |
| 31603 | |
| 31600 |
홈페이지기초
HTML과정 - 11. HTML head
2
|
| 6645 | |
| 6643 | |
| 6642 | |
| 6640 | |
| 20777 | |
| 31597 |
홈페이지기초
HTML과정 - 10. HTML Links
2
|
| 6637 | |
| 19442 | |
| 31594 | |
| 31591 | |
| 31589 | |
| 31586 | |
| 31584 |
홈페이지기초
HTML과정 - 5. HTML 속성
1
|
| 20758 | |
| 19440 | |
| 31575 |
홈페이지기초
HTML과정 - 4. HTML 엘리먼트
8
|
| 31567 |
홈페이지기초
HTML과정 - 3. HTML 기초 예제들
7
|
| 20747 | |
| 6636 | |
| 31563 | |
| 31552 |
홈페이지기초
HTML과정 - 1. HTML이 무엇인가?
10
|
| 27743 | |
| 24579 | |
| 6630 | |
| 6628 | |
| 6620 | |
| 6617 | |
| 27732 | |
| 24577 | |
| 6616 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기