echoとprintの違い
echo()とprint()の違い
「文字列を出力する」というほぼ同じ動作をするecho()
文とprint()
文ですが、だったら違うのは何なんでしょう。
どちらも厳密には関数ではなく、PHPの言語構造だと説明されています。echo()
文の場合もprint()
文の場合も括弧()
で括る必要もなく、括弧()
がなくてもちゃんと動作します。
ここまではほぼ同じecho()
文とprint()
文ですが、動作の違いとして以下のようなものがあります。
echo()
はカンマ「,」区切りで複数の文字列を指定できるのに対し、print()
はできません。
print "Hello","World"; // この構文はエラーが出ます。
echo "Hello","World"; // こっちは正しい構文です
※echo()
文で括弧「()」をつけた場合、カンマ「,」区切りでの複数指定はできません。括弧「()」で括って複数指定するとエラーが出ますので注意して下さい。
print()
は結果を返しますが、echo()
は返しません。
$output = print "Hello World"; // こっちは出力されます
$output = echo "Hello World"; // この構文はエラーが出ます
3.結果を返さない分、わずかにecho()
の方が早いようです。
上記のサイトではecho()
とprint()
の速度を比較しています。