【PHP】echoとprintの違い。つまりはコレ一択。

echoとprintの違い PHP
スポンサーリンク

[no_toc]

PHPで文字を出力する時に使う「echo」と「print」。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
echo "SEO";
print "SEO";
?>
<?php echo "SEO"; print "SEO"; ?>
<?php
echo "SEO";
print "SEO";
?>

どちらも「SEO」と表示されます。

ではこの2つ、全く同じかというとそうではなく微妙に違いがあるようです。

違い1:echoは戻り値を返さないのに対し、printは返す。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$return = echo "SEO"; //エラーになる。
$return = print "SEO"; //$returnに「SEO」の文字列が代入される。
$return = echo "SEO"; //エラーになる。 $return = print "SEO"; //$returnに「SEO」の文字列が代入される。
$return = echo "SEO";  //エラーになる。
$return = print "SEO";  //$returnに「SEO」の文字列が代入される。

変数に文字列を代入するのであれば、
$return = “SEO”; …とすれば良いので、この場合printを使うメリットなし。

違い2:echoはカンマ区切りで複数の文字列を連結できるのに対し、printはできない。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
echo "SEO", "ってどうなん?"; //「SEOってどうなん?」と表示される。
print "SEO", "ってどうなん?"; //エラーになる。
echo "SEO", "ってどうなん?"; //「SEOってどうなん?」と表示される。 print "SEO", "ってどうなん?"; //エラーになる。
echo "SEO", "ってどうなん?";  //「SEOってどうなん?」と表示される。
print "SEO", "ってどうなん?";  //エラーになる。

「,(カンマ)」ではなく、「.(ピリオド)」区切りであれば、echo、print共どちらでも可能。

違い3:echoの方が若干処理速度が高い。

戻り値を返さない分、echoの方がprintより若干処理速度早い。

結論

微妙な違いがあるにしろ、文字列を表示するには「echo」一択でいいんだと思います。

コメント

PAGE TOP
タイトルとURLをコピーしました