dポイントプレゼントキャンペーン実施中!

echoとprintの違いについて質問します。

echoは結果を返すのに対してprintは返さないということが、サイトで説明されていますが、この説明の結果とはなんなのでしょうか?

どちらも画面に表示させるから結果はどちらも返ってきていると思うのですが??

A 回答 (4件)

まぁ、あんまり変わらないですよ。



結果というよりは、戻り値のありなしですねー。
戻り値という考え。
https://www.stackasterisk.jp/tech/php/php01_04.jsp
あとは、()があるとか、なくても平気とか。

でも、printで戻り値が必要な場面に、出会ったことがないし。

echoの方が、微妙に早いらしいけど、何千、何万、出力して、何秒の差が出るんだろうか?
気になるなら、実際試してみてくださいね~♪

たしかに、昔、私も気になって調べてみましたが、いろいろな書き方があり、真偽が今ひとつ分かりませんでした。
でも、困ったことはありませんでした。(苦笑

で、私は、個人的にデバックの時は、echoを使っていました。
その他はprintで。
後で、バグ探しに使った表示部分を探すのが楽なだけのルールです。^^;
もちろん、逆でも問題ないですが・・・echo、えーちょ、えーと(苦笑)、この変数はこの値だよなー。って感じで。

分かりづらかったり、後でもうちょっと煮詰める時も、echoを書いて、コメント化していました。
私にとっては、echoは”しおり”みたいな使い方をしていました。
    • good
    • 0
この回答へのお礼

ありがとうございました。

非常にわかりやすくすっきりしました。

ぜひ参考にさせていただきます。

お礼日時:2009/01/16 20:06

マニュアル



void echo ( string $arg1 [, string $... ] )
返り値
値を返しません。

int print ( string $arg )
返り値
常に 1 を返します。

マニュアルのコピーっぽいサイトでも適当なこと書いてたりするので注意
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/16 20:05

すいません。


結果を返すと言うことで、print_rとごっちゃにしてしまっていました。

$a = print "abc";
printの戻り値は常に1です。

$a = print_r("abc",true);
で、$a に "abc" が入ります。

$a = echo "abc";
は文法エラーです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/16 20:04

>echoは結果を返すのに対してprintは返さないということが、



逆でしょう。

printは、あたかも関数のごとく振る舞いますので、関数の返値があります。

$a = print "abc";
で、$a に "abc" が入ります。それが、「結果を返す」ということです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!