PHPでブラウザーで文字を出力するときに必ず使う2つの『echo』と『print』の話しです。
みなさんはどちらの関数命令を使う人ですか?両方の人とかいるんかな。
ちなみに私は『echo』派です。たまに『print』派と遭遇します。
※ echoは関数ではなく「言語構造」のようです。指摘して頂き、ありがとうございます!m(__)m
echo は実際には関数ではありません (言語構造です)。このため、使用する際に括弧は必要ありません。 (いくつかの他の言語構造と異なり) echo は関数のように動作しません。そのため、 関数のコンテキスト中では常に使用することができません。 加えて、複数のパラメータを指定して echo をコールしたい場合、括弧の中にパラメータを記述してはいけません。
http://php.net/manual/ja/function.echo.php
コピペプログラマーのWordPressのテンプレートを見たら、両方書かれていることがあり、『ああぁ、色なところからコピペしてきたんだなぁ〜』って思う時があります。
で、初心者講習会でも少しプログラムを書ける人が参加するしてると『echo』と『print』って何が違うんですか?って質問がきますー。
※Perl言語では、確かechoがなかったのでprintを使うことになり、昔からCGIとかをPerlで組んでるた方はprint派の人が多いのかな?と思います。
で、私もあまり厳密に知らなかったので、調べてみました。
基本的には一緒
『ブラウザーに文字を出力する』ってことに関しては一緒です。なので、好きな方を使ってください。
[php] <!DOCTYPE html><html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<title>PHPってそんなに難しくないかも?</title>
</head>
<body>
<p>・Echoの場合:<?php echo “薬アレルギーは怖いよ!”; ?></p>
<p>・printの場合:<?php print( “薬アレルギーは怖いよ!”); ?></p>
</body>
</html>
[/php]
ブラウザーではこんな感じで表示されます。
大きく違うところ
気にするほどでもないですが、違うところと言えば、
printには戻り値がある
printには戻り値があります。成功すると1(true)が返ってきます。失敗すると0(false)が返ってきます。
こんな感じです。
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<title>PHPってそんなに難しくないかも?</title>
</head>
<body>
<p>・printで出力:<?php $output = print( “薬アレルギーは怖いよ!”); ?></p>
<p>・戻り値の中を出力:<?php print($output); ?></p>
</body>
</html>
[/php]
処理スピードを比較するとprintはechoより戻り値を返してくる分スピードが遅くなります。
※まぁ、あまり言うほど変わらないと思います。
echoはカンマ区切りで文字を連結可能
逆にechoにしか出来ないことは、引数を複数渡すことが可能です。
要はカンマ区切りで文字列を渡すことにより連結した文章を出力してくれます。
こんな感じです。
<html lang=”ja”>
<head>
<meta charset=”UTF-8″>
<title>PHPってそんなに難しくないかも?</title>
</head>
<body>
<p>今日の日付を出力:<?php echo “現在”, date(‘Y-m-d’),”です。” ?></p>
</body>
</html>
[/php]
ブラウザーではこう見えます。
カンマで区切った文字が連結されてますね^^
でも文字列の連結するときは、私はいつも『.』ドットを使っちゃいますが・・・
コメント
コメント一覧 (11件)
[…] あなたは『echo』派?それとも『print』派? […]
[…] こちらの記事「あなたは『echo』派?それとも『print』派?」 – ht79.infoではPerlにはechoが無かったはずだから昔からそういう言語に触れている人はprintが多いのでは?と言及しています […]
[…] echoとprintの違いに関して詳しくは、こちらから>> https://ht79.info/2019/2012/11/29/echo_print/ […]
> みなさんはどちらの関数を使う人ですか?
echoもprintも関数ではありません。
[…] ぎができない(ドットにする) またprintは戻り値をしてくれるが、echoはできない(その分処理が早い・・らしいが人間がわかる程ではない) ○あなたは『echo』派?それとも『print』派? […]
Corps des Ingénieurs du RNI au Maroc – هيئة المهندسين التجمعيين
CORPS DES INGÉNIEURS DU PARTI RNI EST UNE ORGANISATION SOCIO-PROFESSIONNELLE PARALLÈLE AU PARTI RNI, RASSEMBLEMENT NATIONAL DES INDÉPENDANTS, PARTI POLITIQUE AU MAROC
You could definitely see your skills within the work you write. The arena hopes for more passionate writers like you who are not afraid to say how they believe. Always follow your heart. “What power has law where only money rules.” by Gaius Petronius.
you have got an incredible weblog here! would you prefer to make some invite posts on my blog?
Bat Hoang Lanh Chu NV La Han https://www.youtube.com/watch?v=m1mrj3-5lYg
Tan Thien Long Phai Mo Dung NV Nam https://www.youtube.com/watch?v=VoKZ8CwrLwc
my article ready.