あなたは『echo』派?それとも『print』派?

PHPでブラウザーで文字を出力するときに必ず使う2つの『echo』と『print』の話しです。
みなさんはどちらの関数を使う人ですか?両方の人とかいるんかな。
ちなみに私は『echo』派です。たまに『print』派と遭遇します。

コピペプログラマーの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]

ブラウザーではこんな感じで表示されます。

スナップショット 12:11:29 19:35

大きく違うところ

気にするほどでもないですが、違うところと言えば、

printには戻り値がある

printには戻り値があります。成功すると1(true)が返ってきます。失敗すると0(false)が返ってきます。
こんな感じです。

[php] <!DOCTYPE html>
<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]

スナップショット 12:11:29 19:39

処理スピードを比較するとprintはechoより戻り値を返してくる分スピードが遅くなります。
※まぁ、あまり言うほど変わらないと思います。

echoはカンマ区切りで文字を連結可能

逆にechoにしか出来ないことは、引数を複数渡すことが可能です。
要はカンマ区切りで文字列を渡すことにより連結した文章を出力してくれます。
こんな感じです。

[php] <!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHPってそんなに難しくないかも?</title>
</head>
<body>

<p>今日の日付を出力:<?php echo "現在", date(‘Y-m-d’),"です。" ?></p>

</body>
</html>
[/php]

ブラウザーではこう見えます。

スナップショット 12:11:29 19:47

カンマで区切った文字が連結されてますね^^

でも文字列の連結するときは、私はいつも『.』ドットを使っちゃいますが・・・

あなたは『echo』派?それとも『print』派?
Tagged on:

2 thoughts on “あなたは『echo』派?それとも『print』派?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です