• 締切済み

"print"と"echo"の違いを教えてください

PHPを始めた初心者なのですが、"print"と"echo"の使い道の違いがよく解りません。 調べてはみましたが、"print"は『文字列を出力する』、"echo"は『1つ以上の文字列を出力する』と書いてあり、意味が良く解りませんでした。 どなたか、ご存知でしたらご指導宜しくお願い致します。

  • PHP
  • 回答数3
  • ありがとう数3

みんなの回答

  • tecinfo
  • ベストアンサー率52% (32/61)
回答No.3

"print"と"echo"違いって、あまり意識する必要は無いと思いますが。。 Zend Certificationの試験対策本には、この問題、載ってましたね。 "print"の使い方は int print ( string $arg ) ですので、引数を一つ取ります。 print "This spans\nmultiple lines. The newlines will be\noutput as well."; 返値は常に1が返ります。 "echo"の使い方は void echo ( string $arg1 [, string $...] ) ですので、複数の引数を取ることが可能です。 したがって、 echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10); のように使用することが可能です。 またechoに返値はありません。そのため、echoの方が僅かに速いようです。 あと注意すべきはechoは関数のように動作しないそうです。 // echo は関数のように動作しないので、以下のコードは正しくありません ($some_var) ? echo 'true' : echo 'false'; // しかし、次の例は動作します。 ($some_var) ? print 'true' : print 'false'; // print も言語構造ですが、 // 関数のように動作します。なので、 // このコンテキスト中で使用できます echo $some_var ? 'true': 'false'; // 命令を変更

参考URL:
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
HYSTER
質問者

お礼

なるほど。。つまり、単に"文字の出力"という面においては差異を気にする必要は無さそうですね! あとは、使う場面での引数の取り方や返り値、使い方などで状況に応じて使い分けしていければと思います☆ これまでの質問の中で一番の良回答ばかりで非常に解り易かったです! SAYKAさん、php504さん、tecinfoさんに大変感謝しております☆ どうもありがとうございました♪♪

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

普通に使用する分にはほとんど違いはないです。 細かい違いをあげれば echo は ","で複数の出力が出来る echo $a, "test", $b; // OK print $a, "test", $b; // エラー "."で文字列結合するより若干早いようです。 ただし echo ($a, "test", $b); //これはエラー print は関数のように使える(戻り値1を返す) ($a) ? print "true" : print "false"; // OK ($a) ? echo"true" : echo"false"; // エラー echo は短縮形が使える <?= "エコー" ?>

HYSTER
質問者

お礼

↑上のお礼回答に追記です。 ポイントの付与をつけ忘れたままで締め切ってしまいました。 恩を仇で返したような感じになってしまい皆様申し訳ありませんm(==)m

noname#39970
noname#39970
回答No.1

手元の本には 機能的な差違はない とある。 さらに デバグ用出力でecho、通常はprint と使い分けておくと後で片方だけ取り除くとか簡単であると書かれている。

関連するQ&A

  • echoとprintの使用について

    恥ずかしながらPHPの勉強を始めたばかりのものです。まずはPHP使いを夢見ています。今はHTMLを出力してる所です。 そこで気になったことがあります。 同じ(1つの)PHPファイルに echo と print を混ぜて使うことはあるものですか? やっぱりどっちかに統一させた方がいいんでしょうか? また、変数を使って表示させる場合が出た時は、printの方がいいんでしょうか? 最後になります。echoを使ってですが、文字と文字を繋げて使う接続詞?には、「,」と「.」をどちらも使えたんですが、echoに限ってはどっちも同じものなんでしょうか?違いはありますか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpでechoというのはなんですか?

    phpでechoというのはPythonでいうprintと同じものですか? あと、echoってどういう意味ですか?printはなんとなく出力するとわかりますが なんでechoなんでしょうか?

    • ベストアンサー
    • PHP
  • printとechoの使い分け・・・?

    こんばんは。 いつもお世話になっております。 とても初歩の質問でお恥ずかしいのですが どうかご指導よろしくお願いいたします。 疑問なのは、書籍やPHPの初心者講座サイトさん によって、PHP吐き出し(?)の部分を print で指定したり、echoで指定していたりする 事なのです。 これは、どういった時に使い分けるものなのでしょうか? それとも、気分とか好みで使い分けるものなのでしょうか? どうかよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • echoは命令なんですか? phpのechoの説

    echoは命令なんですか? phpのechoの説明に 「echo」は文字列などを出力するための命令です と書いてあるんですが、echoはリファレンスには関数ではなく言語構造とかいてあります echoは言語構造であり命令なんですか? 関数も命令ですか?

    • ベストアンサー
    • PHP
  • echoの区切り方(コンマ又はピリオド)?

    echoの正しい記述方法についてご質問します。 echo で出力する文字列にの間に変数を記述する場合、変数は「,」(コンマ)で区切るのでしょうか?それとも「.」(ピリオド)で区切るのでしょうか?または、「,」でも、「.」でも、どちらでも良いのでしょうか?「,」で区切る場合と「.」で区切る場合の使い分けが分かりません。 例1(「,」で区切る): <?php $var = "変数"; echo '$varは「', $var, '」です'; ?> 例2(「.」で区切る) <?php $var = "変数"; echo '$varは「' . $var. '」です'; ?> 「.」で区切った場合も上記のように行を変えればちゃんと出力されます(これって正しい記述?)。 また、上記よりもっと良い記述方法があれば、お教え下さい。 この質問の内容に関して詳細な情報が記載されているサイト等をご存知でしたら、お教え下さい。 よろしくお願いします。

    • 締切済み
    • PHP
  • 一般的なechoとprintの実装方法

    お世話になります、php初心者です。 phpでhtmlを出力する際の代表的な2つの関数(echo, print)がありますが、 以下の2点の実装方法のうち、一般的な実装方法はどちらでしょうか。 A index.phpで必要とするhtmlを全て変数に詰めて(必要とする関数を全て実行)、一気にはき出す B index.phpで必要するとhtmlを、逐次はき出す 答えて頂けると幸いです。

    • 締切済み
    • PHP
  • ドコモでechoやprint部分が表示されない

    現在、携帯サイトをPHPで作成しています。 まだ初心者なので簡単なサイトですが、ログインしてポイントをためたり、消費したりするものです。 そこで問題なのが、ドコモの携帯でechoやprintなどの文字出力が出来ません。 ちなみに他社携帯では問題なく普通に見ることが出来ます。 各キャリアごとにDOCTYPE宣言を変更したり、.htaccessに AddHandler server-parsed html AddType application/xhtml+xml .html AddType application/xhtml+xml .xhtm .xhtml をつけ足したりしたのですが出来ませんでした。 echo部分は ようこそ<? echo "$name" ?>さん!<br /> のような形になっています。 $nameには $name="テスト";みたいな形で名前が入っています。 もうどうしたらいいのか全くわからないので、 どなたか解かる方、教えていただけないでしょうか?

    • 締切済み
    • PHP
  • echoの直後に変数(文字列ではなく)を記述?

    echoの正しい記述方法についてご質問します。 echoの直後に変数(文字列ではなく)を記述する場合の質問です。この場合、echoを使用して「変数です」と出力(「」は、出力しません。)するには、以下の例の内、どの記述が正しい(又は最も良い)のでしょうか? 例1: <?php $var = "変数"; echo $var,'です'; ?> 例2: <?php $var = "変数"; echo ',$var,です'; ?> 例3: <?php $var = "変数"; echo '$var,です'; ?> また、上記よりもっと良い記述方法があれば、お教え下さい。 この質問の内容に関して詳細な情報が記載されているサイト等をご存知でしたら、お教え下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • php print echo クリック

    php初心者のものですがよろしくお願いいたします。 たとえばですが データベースに商品のデーターが3つ入ってたとします。 DBからその3つのデータを取り出し PHPのprint または echoで取り出した商品を並べ それをクリックし商品詳細画面に行きたいのです。 [例] みかん りんご バナナ この みかんやりんごバナナをクリックできるようにしたい。 なにか参考になるソースコードなど教えていただければ幸いです。

    • ベストアンサー
    • PHP
  • バッチファイル 作成 echo でスペースを出力するには?

    echo "文字列" を入力するとその文字列が画面上に出力されますが、スペースを出力するのはどのように記述すればよいのでしょうか? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @echo off echo ■■■■■■■■■■■■■■■■■■ echo echo 終了します。♪♪ 何かキーを押してね echo echo ■■■■■■■■■■■■■■■■■■ と書くと・・・↓ ■■■■■■■■■■■■■■■■■■ ECHO は <OFF> です。 終了します。♪♪ 何かキーを押してね ECHO は <OFF> です。 ■■■■■■■■■■■■■■■■■■ のように表示されます。 2行目 3行目はスペースにしたいのですが、どのようにすればよいのでしょうか?