PHPの文字列出力echoとprintの違い

php PHP

phpでプログラム中に画面に文字列を出力することが多くあります。そんなとき、echoやprintを使いますが、その違いを簡単にですが、説明したいと思います。

echoとprintの違い

引数が違う

echoは引数を複数指定することができますが、printは引数がひとつのみです。

// echoサンプル
echo 'こんにちは';
echo 'Hello'. 'World';

// printサンプル
print 'こんにちは';

echoの場合は複数の引数を指定することができますので、繋げて変数や関数を入れることも可能です。printの場合も 「“」(ダブルクオート)で括れば、変数を使うことが可能です。

$NowTime = date("Y/m/d H:i");
echo '現在の時刻:'. $NowTime;
echo '現在の時刻:'. date("Y/m/d H:i");

print "foo is $NowTime";

printは戻り値を返す(戻り値は 1 )

echoとprintは関数ではなく言語構造となりますが、printは式である為に戻り値があり常に1が返される仕様になっています。

// printサンプル
$ret = print 'こんにちは';

(‘引数’)を付けて使用も可能

echoもprintもecho(‘引数’)やprint(‘引数’)のように () を付けて使用することができます。
個人的には()を付ける意味がみいだせませんでしたので、基本的にはつけていないです。

// echoサンプル
echo ('こんにちは');

// printサンプル
print ('こんにちは');

まとめ

使用するにあたっては、戻り値はあまり気にしないでいいので、大きな違いは引数がひとつか複数かの違いになります。
処理速度もechoの方が式でない為、戻り値が発生しないので、早いと言われていますが、気にするような差ではありません。

タイトルとURLをコピーしました