print 와 echo 구문의 차이는 print는 true를 반환하지만 echo는 반환값이 없다는 점을 제외하면 큰 차이는 없습니다.

구문 표현은 행의 끝에 세미콜론(;)이 오거나 php코드의 블록으로 끝나야 합니다.

하지만 php코드의 블록보다는 끝이 명확하게 세미콜론으로 처리하는 게 오류를 줄이는 방법입니다.

그리고 echo 와 print 는 언어구조이기 때문에 괄호로 묶어 표시할 필요도 없지만 괄호로 표시할 때는 "짧은 구문"으로만 표시하도록 해야 합니다.

<?php
 $str = "여러 줄로\n사용할 수 있습니다. 줄바꿈 문자도\n제대로 출력합니다.";
 print $str;
 print "<br/>";

 if(print '') {
  echo "print";
 }
 echo "<br/>";

 echo "Hello World";
 echo "<br/>";

 echo "이것은 여러
 줄을 표현합니다. 물론 줄바꿈도
 출력합니다.";
 echo "<br/>";

 echo "이것은 여러\n줄을 표현합니다. 물론 줄바꿈도\n출력합니다.";
 echo "<br/>";

 echo "문자 이스케이프는 \"이렇게\" 하세요.";
 echo "<br/>";

 // echo 구문 안에 변수를 사용할 수 있습니다.
 $foo = "foobar";
 $bar = "barbaz";
 echo "foo는 $foo"; // foo는 foobar
 echo "<br/>";

 // 배열을 사용할 수도 있습니다.
 $baz = array("value" => "foo");
 echo "이것은 {$baz['value']} !"; // 이것은 foo !
 echo "<br/>";

 // 작은 따옴표는 변수값이 아닌, 변수명을 출력합니다.
 echo 'foo는 $foo'; // foo는 $foo
 echo "<br/>";

 // 다른 문자를 사용하지 않는다면, 바로 변수를 echo할 수 있습니다.
 echo $foo;          // foobar
 echo "<br/>";

 echo $foo,$bar;     // foobarbarbaz
 echo "<br/>";

 // 몇몇 사람들은 결합 echo보다 복수 인자 사용을 선호합니다.
 echo 'This ','string ','was ','made ','parameters.',chr(10);
 echo "<br/>";

 echo 'This '.'string '.'was '.'made '.'with concatenation.'."\n";
 echo "<br/>";

 echo <<<END
 이는 $variable 삽입을 가지는 여러 줄을
 출력하는 "here document" 구문을 사용합니다. here
 document 종료어는 줄에 세미콜론만을 가지고 있어야
 하며, 어떠한 공백도 없어야하는 점에 주의하십시오!
END;
 echo "<br/>";

 // echo는 함수처럼 작동하지 않기에, 다음 코드는 유효하지 않습니다.
 // ($some_var) ? echo 'true' : echo 'false';

 // 그러나, 다음 예제는 작동합니다.
 ($some_var) ? print 'true' : print 'false';
 echo "<br/>";

 // print도 구조이지만, 함수처럼
 // 작동합니다. 그러므로
 // 이 문맥에서 사용할 수 있습니다.
 echo $some_var ? 'true': 'false'; // 구문을 변경하여 처리
 ?> 

0 댓글