会社でシステムさんとPHPの話をしながらテストスクリプトを書いていたとき、
「あ、echo派なんや」
と突っ込まれた。
echo派って何だろうと思ったら、そのシステムさんはprintを使うそうで。
で、俺は、echoは
echo "文字列";
って使うコマンドで、printは
print("文字列");
って使う関数だと思ってたんだけど、調べたところ、どっちもどっちでも使えるらしい。
つまり、
echo "文字列";
echo("文字列");
print "文字列";
print("文字列");
echo("文字列");
print "文字列";
print("文字列");
これ全部okの模様。
じゃぁ何が違うんかというと、echoは戻り値が無くて、printは常にTRUEを返す。と。
これだけみたい。
で、戻り値が欲しい場合を除いて同じ動作をするなら、大事なのは実行速度。
実際に1万回ずつ繰り返して、時間を計ってみる。
一番下は参考までにprintf関数をやってみた。
これは流石にあからさまに遅い。
一回だとどれかが速いかもしれんけど、何回もリトライしてると、だいたい全部同じようなバラツキの範囲内に収まる模様。
こりゃあれだ。
TRUEを返すかどーか程度の小さな違いは、このスペックのマシンで動かしても人間様には違いが分からない。と。
てことで、結論。
echoは4文字・printは5文字だから戻り値が欲しい場合を除いてechoの方が優れてる。
つーか、printに戻り値があるったって、常に1を返すんだから何に使うんだろ?
俺のレベルじゃ分からない。