会社でシステムさんとPHPの話をしながらテストスクリプトを書いていたとき、
「あ、echo派なんや」
と突っ込まれた。

echo派って何だろうと思ったら、そのシステムさんはprintを使うそうで。

で、俺は、echoは

echo "文字列";

って使うコマンドで、printは
print("文字列");

って使う関数だと思ってたんだけど、調べたところ、どっちもどっちでも使えるらしい。

つまり、

echo "文字列";
echo("文字列");
print "文字列";
print("文字列");

これ全部okの模様。

じゃぁ何が違うんかというと、echoは戻り値が無くて、printは常にTRUEを返す。と。
これだけみたい。

で、戻り値が欲しい場合を除いて同じ動作をするなら、大事なのは実行速度。
実際に1万回ずつ繰り返して、時間を計ってみる。

こんなスクリプトを書いて、実際に動かしてみる。

一番下は参考までにprintf関数をやってみた。
これは流石にあからさまに遅い。

一回だとどれかが速いかもしれんけど、何回もリトライしてると、だいたい全部同じようなバラツキの範囲内に収まる模様。

こりゃあれだ。
TRUEを返すかどーか程度の小さな違いは、このスペックのマシンで動かしても人間様には違いが分からない。と。

てことで、結論。
echoは4文字・printは5文字だから戻り値が欲しい場合を除いてechoの方が優れてる。
つーか、printに戻り値があるったって、常に1を返すんだから何に使うんだろ?
俺のレベルじゃ分からない。


Warning: include(/home/genkikko/public_html/blog/ad/google/468x60.html): Failed to open stream: No such file or directory in /home/genkikko/genkikko.net/public_html/blog.genkikko.net/2007/06/echoprint.php on line 346

Warning: include(): Failed opening '/home/genkikko/public_html/blog/ad/google/468x60.html' for inclusion (include_path='.:/opt/php-8.3.21/data/pear') in /home/genkikko/genkikko.net/public_html/blog.genkikko.net/2007/06/echoprint.php on line 346