본문 바로가기

공부

[PHP] echo문

반응형

[PHP] echo문


echo 문은 문자열과 변수의 값을 화면에 출력하는 데 사용한다. 이때 문자열에 HTML태그를 포함할 수 있다.

echo 문의 기본 문법

  1.  웹 페이지에서 한글을 제대로 표현하기 위해 한글 문자셋을 설정하는 부분이다. UTF-8은 현재 세계 표준으로 지정된 문자셋으로 웹에서도 가장 많이 사용되는 문자셋 중 하나이다. <meta>태그의 charset속성을 utf-8로 설정하여 UTF-8문자셋을 사용할 수 있다. 웹 사이트에서 한글이나 글자가 깨져 보일 때는 문자셋 설정이 잘못된 경우가 많다.

  2. 실행 결과의 첫 번째 줄에서 보듯이 echo문으로 문자열 '이미지 검색'을 출력한다.

  3. 변수 $filename에 문자열 w1.png를 저장한다.

  4. echo문의 큰따옴표 안에 있는 변수 $filename의 값을 w2.jpg로 대체한다. echo문은 다음과 같은 HTML태그를 화면에 출력한다. 실행 결과를 보면 첫 번째 캐릭터 이미지가 출력되었다.

  5. HTML태그인 <br>은 줄 바꿈을 의미하므로 고양이 이미지 다음에 줄 바꿈이 된다.

  6. (2),(3)과 같은 방식으로 두번째 이미지인 w2.jpg, 즉 여성이미지를 출력한다.

(이미지는 임의로 다운받아서 파일명을 w1,w2로 지정하였다.)


따옴표(큰따옴표와 작은따옴표)사용

문자열이나 echo문에서 사용하는 큰따옴표와 작은따옴표에 대해 알아보자.

다음 예제에서는 문자열과 echo문에 사용한 큰따옴표와 작은따옴표의 실행 결과가 동일하다.

실행 결과를 보면 두 줄의 내용이 동일하다. 일반적으로 문자열과 echo문의 큰따옴표와 작은따옴표는 차이가 없다.

1. echo문의 큰따옴표 안에 있는 변수 $name의 값이 출력된다.

2. echo문에서 작은따옴표 안에 변수 $name을 사용하면 문자열 $name이 출력된다.

그러므로 echo문 안의 변수에 해당하는 값을 출력하려면 작은따옴표 대신 큰따옴표를 사용해야 한다. 

echo문에서 변수명과 문자열이 붙어 있는 경우

echo문의 큰따옴표 안에 있는 변수 '$name님'이 변수명으로 인식되어 ' Undefined variable(정의되지 않은 변수)'이라는 오류가 발생한다. 당연히 '$name님' 이라는 변수가 존재하지 않기 때문에 오류가 발생한 것이다. 이러한 오류를 방지하려면 다음과 같이 처리해야 한다.

이처럼 echo문에서 변수명과 문자열을 붙여서 출력하고 싶을 때는 변수명을 중괄호({})로 감싸야 한다.

echo 문 안에서 문자열을 나타내는 큰따옴표 안에 또 큰따옴표를 사용하면 문제가 발생한다. PHP해석기는 echo 문 안의 <img src=를 하나의 문자열로 처리하므로 실행 결과에서 보듯이 오류가 발생한다. 따라서


echo"<img src = 'w1.jpg'>"; 또는 echo "<img src=\w1.jpg\">";

 


과 같이 수정해야 한다.

이때 사용된 \"를 이스케이프(escape)문자라고 한다. PHP문자열에서 많이 사용하는 이스케이프 문자는 다음 표와 같다.

  • \" = "(큰따옴표 기호)

  • \n = 줄 바꿈

  • \t = 탭

  • \\ = \(역슬래쉬 기호)

  • \$ = $(달러 기호)

*\와 \는 동일한 기호이다.


 

반응형