• ベストアンサー

echoとprintの違い

echoとprintの違いについて質問します。 echoは結果を返すのに対してprintは返さないということが、サイトで説明されていますが、この説明の結果とはなんなのでしょうか? どちらも画面に表示させるから結果はどちらも返ってきていると思うのですが??

質問者が選んだベストアンサー

  • ベストアンサー
  • c_crimer
  • ベストアンサー率34% (12/35)
回答No.4

まぁ、あんまり変わらないですよ。 結果というよりは、戻り値のありなしですねー。 戻り値という考え。 https://www.stackasterisk.jp/tech/php/php01_04.jsp あとは、()があるとか、なくても平気とか。 でも、printで戻り値が必要な場面に、出会ったことがないし。 echoの方が、微妙に早いらしいけど、何千、何万、出力して、何秒の差が出るんだろうか? 気になるなら、実際試してみてくださいね~♪ たしかに、昔、私も気になって調べてみましたが、いろいろな書き方があり、真偽が今ひとつ分かりませんでした。 でも、困ったことはありませんでした。(苦笑 で、私は、個人的にデバックの時は、echoを使っていました。 その他はprintで。 後で、バグ探しに使った表示部分を探すのが楽なだけのルールです。^^; もちろん、逆でも問題ないですが・・・echo、えーちょ、えーと(苦笑)、この変数はこの値だよなー。って感じで。 分かりづらかったり、後でもうちょっと煮詰める時も、echoを書いて、コメント化していました。 私にとっては、echoは”しおり”みたいな使い方をしていました。

link-life
質問者

お礼

ありがとうございました。 非常にわかりやすくすっきりしました。 ぜひ参考にさせていただきます。

その他の回答 (3)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

マニュアル void echo ( string $arg1 [, string $... ] ) 返り値 値を返しません。 int print ( string $arg ) 返り値 常に 1 を返します。 マニュアルのコピーっぽいサイトでも適当なこと書いてたりするので注意

link-life
質問者

お礼

ありがとうございました。 サイトには注意したいと思います。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

すいません。 結果を返すと言うことで、print_rとごっちゃにしてしまっていました。 $a = print "abc"; printの戻り値は常に1です。 $a = print_r("abc",true); で、$a に "abc" が入ります。 $a = echo "abc"; は文法エラーです。

link-life
質問者

お礼

ありがとうございました。 参考にしてみます。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

>echoは結果を返すのに対してprintは返さないということが、 逆でしょう。 printは、あたかも関数のごとく振る舞いますので、関数の返値があります。 $a = print "abc"; で、$a に "abc" が入ります。それが、「結果を返す」ということです。

関連するQ&A