MEMO REC

雑記帳兼php、mysql、html、css、javascript等の備忘録です。

【PHP】「echo」と「print」の違い/速度の違いについて

phpにおいて文字列を出力する際に利用する「echo」と「print」ですが、
この違いについて気にした事が無かったので、
それぞれの違いと速さについても調べてみました。

echoについて

1 つ以上の文字列を出力する

構文

void echo ( string $arg1 [, string $... ] )

返り値(戻り値)

値を返さない

printについて

文字列を出力する

構文

int print ( string $arg )

返り値(戻り値)

常に1を返す

echoとprintの違い

echoは引数を複数(「,」区切りで)渡す事が出来ますが、
printは単一の引数のみしか渡す事が出来ません。
またechoは返り値を返却しませんが、
printは必ずintの「1」を返却します。

どちらの方が速いの

返り値を返却しない分echoの方が若干出力スピードが速いという記事がありましたので、
echoとprintをそれぞれ10万回×10周=計100万回「TEST」と出力する実験をしてみました。

echo print
1周目 4.257359982秒 4.487354994秒
2周目 5.342820883秒 4.754317045秒
3周目 4.628118992秒 4.995100021秒
4周目 4.63323617秒 4.058238029秒
5周目 3.925617933秒 4.280804157秒
6周目 3.909049034秒 3.923098087秒
7周目 3.805972099秒 4.750500202秒
8周目 3.867604971秒 4.91630888秒
9周目 3.795361996秒 4.294229984秒
10周目 3.848227024秒 4.028221846秒
合計 42.01336908秒 44.48817325秒

100万回出力してわずか2秒の差なので、
若干echoの方が速いようです。

まとめ

echo print
引数 複数渡せる 複数渡せない
返り値(戻り値) 返さない 必ず1を返す
速度 ちょっと速い ちょっと遅い