備忘録

気になったこと、調べたこと、わからなかったことなど..

【PHP】echoとprintの違い

echoとprintの違いって何? と思って調べる→よくわからない、の繰り返しなので、きちんと調べてまとめておきたいと思います。

php公式マニュアルはこちら
【echo】

PHP: echo - Manual

【print】

PHP: print - Manual

上記サイトの記述によると
【echo】
print との主な違いは、 echo がリスト形式の引数を受け付け、返り値を持たない。

【print】
echo との主な違いは、 print が単一の引数のみ受け付け、常に 1 を返す。

とあります。それぞれ詳しく見ていきます。

→echo がリスト形式の引数を受け付け、print は単一の引数のみ受け付ける
<?php
// echo
echo 'apple', 'orange', 'banana';
// print
print 'apple','orange','banana';
?>

このとき、echoは'appleorangebanana'と出力されますが、 printはエラーとなって出力されません。

→echoは返り値をもたず、printは常に 1 を返す。
<?php
$echo = echo 'PHP';
$print = print 'PHP';
?>

printは返り値を持つので、'PHP'が$printに代入されますが、echoだとエラーとなります。

短縮形である<?=はechoとして取り扱われるそうです。 また、echoは返り値を返さない分速度が若干速いそうです。

【PHP】「echo」と「print」の違い/速度の違いについて - MEMO REC

特段変な文字列を出力しないのであれば、echoもprintもどちらでもいい感じはしますね。 私は今までechoを使用していたので、今後もechoを使っていく予定です('ω')ノ