본문 바로가기

PHP 교실

7. PHP 문자열, 이스케이프 문자

 

7. PHP의 문자열 타입에 대하여 알아 봅시다.

 

문자열 타입은

1. 작은 따옴표  ' 로 둘러 싸거나

2. 큰 따옴표  " 로 둘러 싸거나

3. 히어닥 문법 <<< 문자열을 사용하여 표시합니다.

 

 

1. 작은 따옴표는 잘 사용되지 않습니다. 그 이유는 작은 따옴표 안의 변수는 변수값이  표시되지 않고 변수이름 자체가 표시되기 때문입니다. 그러나 간단하게 문자열을 표시하거나 작은 따옴표 안에 큰 따옴표를 적기 위하여 사용되기도 합니다.

 

 

test7-1.php

<? 

$Name = '홍길동';

echo '내 이름은 $Name 입니다 <br>';

echo "내 이름은 $Name 입니다 <br>";

echo '내 이름은 "$Name" 입니다 <br>'

echo '내 이름은 "홍길동" 입니다'

?>

 

 

 

 

test7-1.php 출력결과

 

내 이름은 $Name 입니다

내 이름은 홍길동 입니다

내 이름은 "$Name" 입니다

내 이름은 "홍길동" 입니다

 

 

 

2. 큰 따옴표 큰 따옴표안의 변수는 변수값이 표시되기 때문에 많이 사용됩니다.

변수를 적을 때 아래의 경우는 어떻게 출력될까요?

 

test7-2.php

<?

$Name = "홍길동";              

echo "나는 $Name 입니다<br>";   // '$Name' 과 '입니다' 가 떨어져 있을 때

echo "나는 $Name입니다";          // '$Name' 과 '입니다' 가 붙어 있을 때

 ?>

 

test7-2.php 출력결과)

나는 홍길동 입니다

나는

 

두번째 경우는 변수와 변수 다음의 글자가 붙어 있어서 변수이름이 변해버렸습니다. 즉 변수이름이 "$Name" 에서 "$Name입니다" 로 되어 버리기 때문에 변수값이 표시되지 않습니다. 그래서 변수 값과 그 다음의 글자를 붙여서 출력해야 할 경우는 다음의 3번 설명처럼 변수를 중괄호로 둘러 싸서 적어야 합니다.

 

 

 

3. 변수 다음에 글자를 붙여서 출력해야 할 경우가 있습니다. 이 때는 중괄호{   }를 사용하여 변수부분을 둘러 싸 주면 확실하게 변수부분을 인식하게 됩니다.

 

test7-3.php

<?

$Name = "홍길동"; 

echo "나는 {$Name}입니다";         

?>

 

 test7-3.php 출력결과

나는 홍길동입니다 

 

 

 

 

4. 하이닥 문자열은  '<<<' 기호를 사용하여 문자열의 시작과 종료를 알려 주는 방식입니다. 문자열의 시작은 '<<<식별자' 와 같이 사용하고 문자열의 끝은 '식별자;' 로 표시합니다. 식별자는 변수명처럼 임의로 만들어서 사용합니다.

 

 (1) 하이닥 문자열을 직접 출력한 경우

test7-4-1php

<?

$Name = "홍길동";

echo <<<EOT
내 이름은 {$Name}입니다. <br>
나이는 49세이며 <br>
취미는 등산입니다.
EOT;

?>

위의 예에서 사용된 식별자는 'EOT' 입니다.

 

test7-4-1.php 출력결과

내 이름은 홍길동입니다.
나이는 49세이며
취미는 등산입니다.

 

 (2) 하이닥 문자열을 변수에 할당한 경우

 

test7-4-2,php

<?

$Msg = <<<TEST

내이름은 한라산입니다<br>

나이는 43세이며

취미는 낚시입니다.

TEST;

 

echo $Msg;

?>

 

 

test7-4-2.php 출력결과

내이름은 한라산입니다
나이는 43세이며 취미는 낚시입니다.

 

 

 

 

5. 이스케이프 문자

 

큰 따올표 안의 작은 따옴표나, 작은 따옴표 안의 큰 따옴표는 출력을 하면 표시가 됩니다.

그러나 작은 따옴표 안의 작은 따옴표나, 큰따옴표 안의 큰따옴표는 어떻게 표시할까요?

큰따옴표와 같은 특수문자를 표시하기 위하여 사용하는 기호를 이스케입(escape)문자, 회피문자 라고 합니다. 역슬래쉬 기호( '\', 때로는 '\' 기호로 표시되기도 함)를 사용합니다.

 

test7-5-1.php

<?

 

echo "내 이름은 '홍길동'입니다 <br>";

echo '내 이름은 "홍길동"입니다 <br>';

echo "내 이름은 \"홍길동\"입니다 <br>";

echo '내 이름은 \'홍길동\'입니다 <br>';

?>

 

test7-5-1.php 출력결과

내 이름은 '홍길동'입니다
내 이름은 "홍길동"입니다
내 이름은 "홍길동"입니다
내 이름은 '홍길동'입니다

 

( 회피문자  표시 예 )

 특수문자

 의미

 \n

 개행문자 (Line Feed) 

 \r

 첫열이동 (Carrage Return)

 \t

 수평 탭 이동

 \\

 \문자 출력 

 \$

 $문자 출력 

 \"

 "문자 출력

 

 test7-5-2.php

<?

$Thing = "적 포도주";

$Price = 13;

 

echo "

그  \"{$Thing}\"의 가격은 <br>

미화 \${$Price}입니다

";

?>

 

결과) test7-1.php

그 "적 포도주"의 가격은
미화 $13입니다

 

 

연습문제7) 이름과 나이, 취미를 하이닥 문자열을 이용하여 출력하여 봅시다.

 

 

 

'PHP 교실' 카테고리의 다른 글

9. PHP 클래스, 객체  (0) 2017.05.08
8. PHP 배열  (0) 2017.05.08
6. PHP 정수, 실수  (0) 2017.01.06
5. PHP 변수  (0) 2016.12.24
4. PHP 주석  (0) 2016.12.18