echoとprintの違い
Home >> PHP言語リファレンス >> おまけ >> echoとprintの違い

echoとprintの違い

echo()とprint()の違い

「文字列を出力する」というほぼ同じ動作をするecho()文とprint()文ですが、だったら違うのは何なんでしょう。

どちらも厳密には関数ではなく、PHPの言語構造だと説明されています。echo()文の場合もprint()文の場合も括弧()で括る必要もなく、括弧()がなくてもちゃんと動作します。

ここまではほぼ同じecho()文とprint()文ですが、動作の違いとして以下のようなものがあります。

1.echo()はカンマ「,」区切りで複数の文字列を指定できるのに対し、print()はできません。

print "Hello","World"; // この構文はエラーが出ます。
echo "Hello","World"; // こっちは正しい構文です

echo()文で括弧「()」をつけた場合、カンマ「,」区切りでの複数指定はできません。括弧「()」で括って複数指定するとエラーが出ますので注意して下さい。

2.print()は結果を返しますが、echo()は返しません。

$output = print "Hello World"; // こっちは出力されます
$output = echo "Hello World"; // この構文はエラーが出ます

3.結果を返さない分、わずかにecho()の方が早いようです。

参考Echo vs print

上記のサイトではecho()print()の速度を比較しています。

参考関数

  • echo() ---- 1つ以上の文字列を出力する
  • print() ---- 文字列を出力する