PHPの出力「echo」と「print」って何が違うの?

php-elephant

僕は前職でPHPを使ってWEBサイトを構築していたのですが、ほぼ初心者です。
経験は1年にも満たないレベルで、勉強している段階です。

そんな浅い経験ですが、僕がこれまでPHPを勉強してきて、一番最初に疑問に思った事を紐解きたいと思います。

本当にしょうもない内容なんですが、それはブラウザで文字を出力する時に使う「echo」と「print」です。

どちらも文字を出力するという目的は同じなのですが、参考書によってechoで書かれていたり、printで書かれていたり意味が分かんないんですよね…。

それなのに、どうでも良い事だからか説明がない。
なんかめっちゃむしゃくしゃしたんですよね。どっち使うのが良いのか分からないし…。

結局、僕はechoを使っているのですが、どっちが良いのかはぶっちゃけ分かんないです。
むしろどっちでも良いと思います。笑

でも、絶対にむしゃくしゃする人はいると思うので、2つの違いについて僕のわかる範囲でちょっとだけ説明。

どうして2つの出力方法があるの?

なんで2つの出力方法があるのかというのは、ぶっちゃけ僕には分かりません。笑

歴史かな?

ちなみに、perlはechoがなく、printで出力するので、元々perlで組んでいたという人はprintを使っている事が多いっぽいです!

結局のところ、何が違うの?

さて、次にechoとprintの具体的な違いについて。

echoは文字を連結できる

echoはカンマで区切る事で、引数を複数渡すことができます。
つまり、連結した文章を出力する事ができるのです。

printは結果を返す

printは戻り値があり、結果を返しますが、echoは結果を返しません。

出力して、成功すると「true(1)」が返ってきます。失敗すると「false(0)」が返ってきます。

ちなみに、戻り値がない分、ちょっとだけechoの方が早いようです。

このようにちょっとした違いはありますが、本当にどちらでも良いと思います。
しょうもない事ですが、こういった事を知るだけでも、よりPHPが面白くなるのではないでしょうか?