php:文字列の出力でechoとprintの違い

php文字列を出力する際は、echoprintを使用すると思います。

php初心者の方から

echoとprintをどちらを使えばいいのか?
echoとprintの違いはなんなのか?
どちらを使用するのが正しいのか?

などを聞かれたことがあります。

私はphpを覚えた時から文字列の出力はechoを使用していたので、
あまり気にしたことがありませんでした。

echo」と「print」を比較して、違いを調べてみたので下記にメモします。


「echo」と「print」の違い

○ 引数が違う

echoの場合は引数を「,」区切りで複数指定できます。

echo 'aaa', 'bbb';

出力結果

aaabbb

printの場合は引数は一つのみです。

print 'aaabbb';

下記の場合、エラーになります。

print 'aaa', 'bbb';

○ 戻り値が違う

echoの場合は戻り値がないです。
下記の場合、エラーになります。

$val = echo 'aaa';

printの場合は戻り値があり、1を返します。

$val = print 'aaa';
print $val;

出力結果

aaa1

文字列ではなく「1」が返ります。


私なりの結論ですが、phpで文字列を出力するのは、echoとprintのどちらも正しいです。

どちらでも文字列を出力するのは変わらないので、
その時の環境やルールに合わせるのがいいと思います。

また、printは戻り値があるから、echoの方が処理速度が速いようです。

  • このエントリーをはてなブックマークに追加

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です