PHP에서 Hello, world! 출력하기, echo와 print의 차이

이 포스트에서는 PHP에서 Hello, world!를 출력하는 방법을 설명합니다.

우선, PHP에서 Hello, world!를 출력하는 방법은 HTML로 직접 출력하는 방법을 제외하면 다음과 같이 두 가지가 있습니다.

<?php
	echo "Hello, world!";
?>
<?php
	print "Hello, world!";
?>

이 두 코드는 똑같이 화면에 Hello, world!를 출력합니다. 일단 이렇게만 보면 PHP에서 echo 문과 print 문이 완전히 똑같다는 생각이 언뜻 들 법도 합니다.

하지만 이 두 코드는 차이가 있습니다. echo는 그냥 명령문일 뿐이라 함수처럼 사용할 수 없고 리턴 값이 없지만, print는 함수처럼 사용할 수 있고 1을 리턴한다는 점이 차이점입니다.

다음 두 코드를 봅시다.

<?php
	$result = true;
	$result ? echo "True" : echo "false";
?>
<?php
	$result = true;
	$result ? print "True" : print "false";
?>

삼항연산자로 조건분기를 만든 예입니다. 언뜻 보기에는 전자와 후자 모두 같은 결과가 나올 것처럼 보입니다. 하지만 실제로 실행해 보면 전자는 구문 오류가 발생하고 후자는 정상적으로 실행됩니다. 연산 형태이기 때문에 함수형으로 사용할 수 있어야 하기 때문입니다.

그렇다면, echo 문에서 삼항연산자로 조건에 따라 다른 문자열을 출력하는 방법은 없는 것일까요? 그렇지 않습니다.

<?php
	$result = true;
	echo $result ? "True" : "false";
?>

이렇게 쓰면 됩니다. echo 자체는 함수로 쓸 수 없지만 echo 문에 함수를 쓰는 것은 가능하기에 이렇게 쓸 수 있습니다.

또 다른 점이라면, 코드 실행 속도에 있어서 echo가 print보다 미세하게 빠릅니다. 그러므로 print 문을 써야 하는 특별한 이유가 없다면 echo를 쓰는 것을 권장합니다.

답글 남기기

이메일 주소는 공개되지 않습니다.