Loading

블로그채널

Search !

[PHP] echo, print 설명과 비교


초심을 잃어버리다.


글쓴이가 티스토리를 하게 된 것은 사이트를 구축할만한 능력이 안 되었기 때문입니다. 빠르게 애드센스 광고로 수익을 내고 싶었고 콘텐츠만 채우면 되는 티스토리로 방향을 틀었습니다. 제가 원하는 것은 사이트이지 블로그가 아니었습니다.

특별한 통계 자료로 경쟁력 있는 세계적인(?) 사이트를 만들고 싶었습니다. 그래야 자면서도 돈을 벌 수 있지 않겠습니까? 블로그를 하면 자고 있을 때도 수익이 생긴다는 게 참 매력적이었습니다. 하지만 내가 잘 때는 다른 분들도 꿈나라에 있더군요. 그런 의미에서 눈떠 있는 해외를 공략해야겠지요.

 

어느 순간 현실에 안주하는 내 모습을 보았고 지인과 깊이 있게 이야기하다보니 초심을 잃어가고 있다는 것을 깨닫게 되었습니다. 여러분 중에서 사이트 운영을 하고자하시는 분도 있기에 저의 능력이 미천하지만 작게라도 도움이 되고 싶어 이렇게 PHP 튜토리얼을 연재하게 되었습니다. 혼자 걸어가는 것 보다 함께 걸어가는 게 덜 힘들지 않습니까?

 

PHP는 처음 접해보는 언어이지만 영향을 받은 언어 C, C++, 펄, 자바를 이해하고 있어 아무런 어려움 없이 연재하고 있습니다. 오늘 낮에 w3schools.com에 기재된 PHP 내용 전부를 훑어봤지만 튜토리얼이라 어려운 내용이 없었습니다. 한 가지 언어에 익숙하면 다른 언어를 접할 때는 아주 쉽게 접근할 수 있습니다.

 

어쩌면 독일 사람이 영어 배우는 것보다 더 쉽게 언어를 익힐 수 있습니다. 처음 접하시는 분은 어렵겠지만, 익숙해지면 별것도 아닙니다. 이런 게 있다 정도만 알아두셔도 다음에 접할 때는 “아~ 이거 예전에 본적 있어!”처럼 친숙하게 접근할 수 있을 겁니다. 이번 시간에는 크게 어려운 내용이 없습니다.

 

[PHP] echo, print 설명과 비교

[PHP] echo, print 설명과 비교

 


원본 코드: http://www.w3schools.com/php/php_echo_print.asp

 

echo와 print문이 중요한 이유는 PHP로 프로그래밍을 하지만 결국 HTML로 출력합니다. 우리가 웹브라우저로 결과를 볼 수 있게 HTML로 내용을 출력해야 하는 것이지요 echo와 print문은 쉽지만 중요한 역할을 담당합니다.

 

echo와 print의 차이점
echo와 print는 실제 함수가 아니라 언어 구조라고 합니다. 그런데 print는 함수처럼 사용할 수 있습니다. 함수는 쉽게 생각하면 초등학교 때 상자 안에 넣어 계산 문제를 푸는 것처럼 그런 구조를 가지고 있습니다. 함수는 어떤 것을 넣으면 계산하고 결과를 출력해주는 역할을 합니다. 어떤 것을 넣는 것을 인자라고 하고 결과를 출력해주는 것을 리턴 값이라고 해요. 

                                                      인자(입력)값

함수의 개념

                     리턴(출력)값
함수의 개념


print는 입력이 한 개이고 리턴 값을 가집니다. 항상 1이라는 숫자를 리턴해요. print는 함수는 아니지만 함수처럼 사용할 수 있어요.

 

echo는 하나 이상의 문자열을 출력합니다. 입력 값이 여러 개라는 이야기이지요. 아무것도 결과물로 돌려주지 않아요. 물론 HTML로 출력해주는 역할을 하지만 리턴 값이 없습니다.

 

int print ( string $arg ) - 문자열을 하나를 출력
- int는 리턴 값이 정수형이라는 것을 말하며 string은 문자열을 말하고 $는 변수, string은 문자열을 뜻합니다.

 

void echo ( string $arg1 [, string $... ] ) -  하나 이상의 문자열을 출력
- void는 리턴 값이 없다는 것을 말하며 string은 문자열을 말하고 $는 변수, string은 문자열을 뜻합니다.

 

The PHP echo Statement
바로 예제부터 살펴보겠습니다.

echo "PHP is Fun!";
echo "Hello world!";
echo "I´m about to learn PHP!";
echo "This ", "string ", "was ", "made ", "with multiple

 

echo는 문자열 하나 가능합니다. 문자열 여러개 가능합니다.

다음 예제는 변수를 문자열 안에 넣어 출력했네요.
또 변수끼리 연산한 후 출력하고 있습니다.
크게 어렵지 않습니다.

$txt1 = "Learn PHP";
$txt2 = "blogchannel.tistory.com";
$x = 5;
$y = 4;

echo $txt1";
echo "Study PHP at $txt2";
echo $x + $y;

 

The PHP print Statement
print에 ()괄호를 넣어서 사용할 수 있고 ()괄호 없이 사용할 수도 있습니다.

print("PHP is Fun!");
print "Hello world!";
print "I´m about to learn PHP!";

 

printf로 변수를 사용해보겠습니다. 여기서는 echo와 다를 바가 없네요.

 

$txt1 = "Learn PHP";
$txt2 = "blogchannel.tistory.com";
$x = 5;
$y = 4;

print "$txt1";
print "Study PHP at $txt2";
print $x + $y;

 

echo와 print의 차이를 알기 위해 조금 어려운 예문을 보겠습니다.

먼저 삼항 연산자부터 이야기 하겠습니다. 삼항 연산자는 어떤 변수가 참이면 참에 있는 내용을 실행하고 거짓이면 거짓에 있는 내용을 실행합니다.

 

(어떤 변수) ? 참 내용: 거짓 내용


$some_var이 true이면 print ´true´가 실행되어 true라는 내용이 출력됩니다.


$some_var이 false이면 print ´false´가 실행되어 false라는 내용이 출력됩니다.

 

($some_var) ? print ´true´ : print ´false´;  // 문제 없음


위 print는 작동합니다. 함수처럼 쓸 수 있고 인자값으로 사용될 수 있기 때문입니다.

 

아래는 echo는 함수처럼 작동하지 않기에, 다음 코드는 유효하지 않습니다. 왜냐하면 인자(입력) 값으로 사용될 수 없기 때문입니다.

 

 


($some_var) ? echo ´true´ : echo ´false´; // 오류발생

 

                                         
그래서 echo로 사용하기 위해서는 코드를 아래와 같이 변경해야합니다.

 

echo $some_var ? ´true´: ´false´; // 문제 없음

 

이 코드는 print와 echo의 차이점을 설명하기 위해 억지로 만든 코드입니다.

 

둘 다 비슷한데 여러분은 어떤 것을 사용해야 할까요?

 

결론은 echo를 사용하는 것이 더 좋습니다. 왜냐하면 속도 면에서 미미하게 echo가 print보다 더 빠르다고 하네요.

 

참고
print
http://php.net/manual/kr/function.print.php
echo http://php.net/manual/kr/function.echo.php 

 

[Copyright ⓒ 블로그채널 무단전재 및 재배포 금지]





  1. 임성우 2015.12.31 23:25

    안녕하세요 궁금한게 있습니다. 제가 프로그래밍 개념이 없어서요..
    현재 티스토리 블로그에서 php코드를 사용가능한가요?
    그러니까 제 말은 test.php(단순히 a란 함수에 echo "안녕하세요"; 이런코드가 있으면) 이걸 제 티스토리블로그에 admin에서 파일 업로드를 한후 뭐 include 인가?아님 다른것으로 html안에서 호출 가능한가여?
    아니면 처음부터 html안에서 php코드인 echo "안녕하세요"; 이 걸써서 안녕하세요란 말이 나오게 할 수 있나여?

  2. 2016.05.16 10:30

    아 블로그에 있는 미친듯이 광고로 도배되있어서 정보고 뭐고 바로나갑니다ㅡㅡ
    스크롤자동으로 아래로 움직이는 광고까지... 언론사 뺨치게 광고로 도배해두셨네

  3. 윗댓글 2017.12.03 21:08

    윗댓글 개웃기네 ㅋㅋㅋㅋㅋㅋ

댓글을 입력하세요