PHPを勉強し始めて、必ず最初にあたる疑問。。
printとechoの違いです。
この疑問について調べた限り述べようと思います。
まず、二つとも「表示する」働きをするものです。
ですので、どちらを使っても同じです。
好みによる使い分けになると思います。
但し、微細な違いがあります。
一つ目に、返り値があるかどうか。
printには返り値があり、
echoには返り値がありません。
いったい、何が返ってくるかというと、「intの 1 」が返ってきます。
phpでいえば、1というのはtrueに置き換えられるため、表示できたかどうかわかり、
$gyo += print "sample";
$gyo += print "test";
というように書けば、printが実行された回数が得られます。
。。。が、特に有効な利用方法は知りません。
しかし、その返り値があることによって、微妙に処理に時間がかかります。
つまり、返り値がないechoの方が、printより処理が早くなります。
とはいっても、昨今のPCでは微妙な微妙な違いです。
2つ目の違い。
printは一つの文字列を表示できるのに対し、
echoは「,(カンマ)」で区切ることによって、一つ以上の文字列を表示できます。
つまり、
print "printsample";
echo "echo","sample";
といった違いになります。
これは大きな違いだと一瞬思いますが、実はこれも微細な違いになります。
なぜなら、printも一つ以上の文字列を表示する方法が別にあるからです。
それは「.(ピリオド)」文字列連結演算子を使う方法です。
つまり、
print "print"."sample";
と、書けば、二つの文字列を連結して表示するとった動きになります。
もちらん、これはechoにも同じことができます。
ですので、一つ以上の文字列を表示する際、
printは「.(ピリオド)」のみが使え、
echoは「.(ピリオド)」と「,(カンマ)」の両方が使えるのです。
これは、echoでは、「.(ピリオド)」と「,(カンマ)」を打ち間違えても大丈夫だと意味しています。
(PHPでは、このほかにも、多少のミスをカバーしてくれますが、これはまた別の話)
(あくまで個人の)推測するに、
最初にprintがあり、
それをよりよく、より速くするためにechoが作られたのだと思います。
結論、
printとechoはほぼ同じものであるが、
個人的には、echoを使ったほうが、若干メリットがあるため、
これからも、echoを使います。
posted by hikaru at 15:52|
Comment(0)
|
PHP
|

|