echoとprintの違い
そふぃのPHP入門 >> PHP言語リファレンス >> おまけ >> echoとprintの違い

echoとprintの違い

echo()とprint()の違い

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

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

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

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

引数の複数指定

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

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

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

返り値の有無

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

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

参考 Echo vs print

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

参考関数

  • echo() ---- 1つ以上の文字列を出力する
  • print() ---- 文字列を出力する
PHP5徹底攻略
PHP5徹底攻略 PHPのバイブル、赤マンモスです。
独習PHP
独習PHP 入門から、PEAR、Smartyまで。