[PHP] 文字列の出力 print()とecho()

公開

スポンサーリンク

phpで文字列を出力するにはprint()echo()を使います。

print('hello world');
echo('hello world');

カッコ内に与えた文字列「hello world」が表示されます。

print、echoとも一見関数のようですが、関数ではなくPHPの言語構造です。そのため、カッコを使わなくても文字列を出力することができます。

print 'hello world';
echo 'hello world';

カッコを使わない書き方は以上のようになります。実際にプログラム中で使われるときに、カッコを使う場合の方が少ないのではないでしょうか。

echoは複数の文字列や変数を、カンマ区切りで指定することができます。

$foo = "hello";
$bar = "world";
echo $foo, ' ', $bar;//'hello world';

printでは同じ書き方はできません。printで複数の文字列や変数を出力する場合は連結してから出力します。

$foo = "hello";
$bar = "world";
print $foo. ' '. $bar;//'hello world';

printとechoの違いは2点あります。1つは上にあげたカンマで複数の変数・文字列を出力できるかどうかという点です。もう一つはprint()には戻り値があるがechoにはないという点です。

printは文字列を出力したあとint(1) を返します(trueではありません)。それに対し、echoは何も返しません。そのため、echoの方がprintよりわずかに速いとのことです。

とはいえ、実用上気にするような速度差が出ることはないでしょう。こちらのサイトでprintとechoの速度差について調べられていますが、やはり気にするほどの速度差はないとされています。

スポンサーリンク


Comment