PR

【PHP】echoとprintの違いとは?どっちを使えば良い?

アイキャッチ画像

こんにちは、大学生エンジニアのいのうえ(@inouelog)です!

PHP初心者
PHP初心者

PHPのechoとprintって似てるけど違いはあるの?どっちを使えば良いの?

上記の悩みを解決します。

本記事ではechoとprintの違いや、どっちを使えば良いかを解説します。
結論から先に言うと、違いはありますがどっちを使ってもOKです。

私もPHPを学び始めたときは、参考にする教材によってecho派とprint派に別れていて混乱しました。

PHP初心者の方でもわかるように丁寧に解説するので、「違いが分からずモヤモヤする…」という方は、ぜひ最後まで読んでくださいね。

ターゲット読者

echoとprintの違いが気になる人

echoとprintのどっちを使えば良いか迷っている人

この記事でわかること

echoとprintの違い

echoとprintのどっちを使えば良いか

echo, printとは

例えば、以下のように文字列を出力します。

echo

echo '日本';
日本

print

print '日本';
日本

ブラウザで見ると全く同じように出力されます。

echoとprintの違い

echo:戻り値なし print:戻り値1を返す

printは戻り値(返り値)を返します。
成功すると戻り値1、失敗すると戻り値0です。

$japan = print '日本';
print '<br>'; //改行
print $japan;

とすると、

日本
1

と出力されます。

echo:引数複数OK print:引数一つだけ

echoはカンマで区切って複数の引数を取ることができます。

echo '日本', 'と', 'アメリカ';

とすると、

日本とアメリカ

と文字列が連結して出力されます。

printでは、カンマで区切って文字列を連結して出力はできませんが、ドットを使えば出来ます。

print '日本'.'と'.'アメリカ';

この場合は、引数は【’日本’.’と’.’アメリカ’】のただ一つです。もちろん、echoでもこの記述は可能です。
ドットは変数が入ってくるときによく使います。

$japan = '日本';
$us = 'アメリカ';

print $japan.'と'.$us;

ちなみに、echoもprintも関数ではなく言語構造です。つまり、引数を括弧で囲む必要はありません。
しかし、関数との見た目の一貫性を保つために、括弧を付けることができます。

echo('日本');
print('アメリカ');

echoはprintより少しだけ早い

まぁ、違いを肉眼で確認するのは難しいとは思いますが、echoのほうが少しだけ早いです。

echoとprintどっちを使えば良い?

どちらでも良いです。

PHP初心者
PHP初心者

でも、迷うからどっちが良いか教えて!

という方もいると思うので…。
私個人の意見になってしまいますが、echoを使えば良いと思います。理由は2点あります。

  • echoは4文字、printは5文字なので、echoはタイプ数が少なく済む
  • echoのほうが少しだけ早い

まとめ

PHPのechoとprintの違いや、どっちを使えば良いかを解説しました。

おさらいすると、

echoとprintの違い
  • echo:戻り値なし print:戻り値1を返す
  • echo:引数複数OK print:引数一つだけ
  • echoはprintより少しだけ早い
echoとprintどっち

どちらでも良いが、echoがおすすめ。