PHP

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

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

【PHP】文字列の出力は、echo または printで

PHPで文字列を出力する際には、echoprintの二つの関数が用意されていますよね。
※正確には、echoもprintも関数ではありません。

私は主にechoを使います。
理由は単純で、初めて買った参考書がechoを使っていたから!!

 

それはいいとして、実際には、echoprintのどちらを使うのが正しいの?
そもそも、この二つの関数の違いは?

といった疑問をお持ちの方も多いと思います。
そこで、今回は、これらの疑問に対してお答えしていきます。

 

因みに、有名な違いはこちらです。
printはリターンコードを返してくれますが、echoは返してくれません!!
echoは「カンマ(,)」で区切って複数の文字列を同時に出力できます!!

printはリターンコード(返り値)を返してくれる

例えば、

<?php
$ret = print (“テスト”;)
echo $ret;
?>

というコードを書いてみます。

もし、このコードがエラーになっていると、変数$retにリターンコード「1」が返ってきていると思います。

echoは「カンマ(,)」で区切って複数の文字列を同時に出力できます

echoを使うと、カンマ(,)をで区切ることで、複数の文字列を出力することが出来ます。

例えば、
<?php echo “テスト1\n”, “テスト2\n”, “テスト3\n”; ?>
を実行すると、
テスト1 テスト2 テスト3」と表示されるはずです。

ただ、printは、このような使い方をできません。

例えば、
<?php print “テスト1\n”, “テスト2\n”, “テスト3\n”; ?>
とすると、エラーになるはずです!!

 

もちろん、他にも違いがあります。

if(){~}の中でも使用が可能

まずこのような使いをすることは無いですが、printはこんな使い方も可能です。

<?php
if(print “TEST”){
print (“テストです”);
}
?>

他にも、echoとprintの違いはあるのですが、その辺は調べてみて下さい。

echoよりもprintの方が高速?

ところで、リターンコードを返すということは、printの方が処理が遅いはずです!!
※実際に測定した訳ではないので、正確なことは分からないですが。

ただ、余程の回数を繰り返すような処理でもない限り、プログラム全体に影響を及ぼすことは無いです。

echoとprintのどちらを使えばいい?

結局、echoprintのどちらを使えばいいの!?

ってなるとと思います。

ですが、正直なところ、どちらでも問題ないです。

それぞれ個人の好き嫌いで決めればいいと思います。

例えば、
echoの方が1文字少ない!! とか、
printっていう綴りがなんか気にくわへん!! とか、
いやいやechoってなんか好きになれへん!! とか、

そんな感じで。

echoもprintも関数ではありません

初めに少し触れましたが、echoprintも、実際には関数ではありません。

参考:https://www.php.net/manual/ja/function.echo.php

参考:https://www.php.net/manual/ja/function.print.php

その為、echoprintも「カッコ()」でくくらなくてもOKです。

例えば、

<?php
$a = “テスト”;
echo “{$a}です。”;
?>

といった感じで使うことが出来ます。