2015年8月17日

PHP echoとprintの違い

«
»

Pocket

これまでブラウザに出力するという命令に
echo(エコー)を使ってきました。
 

<?php

echo "hello world";

 
echoは英語で「こだま、反響、共鳴」という意味があります。
カラオケボックスで有名な「ビッグエコー」のエコーですね。
「大きなこだま」ということでしょうか。
 
しかし、PHPの出力命令(echoのような動詞)には他にもいくつか命令が存在します。
実際に、みなさんが読んでいる本では「print」が使われていることがあります。
 

<?php

print "hello world";

 
実行すると結果はどちらも一緒です。hello world がブラウザに表示されます。
 
ちなみに、「echoの方が僅かながら早い」ようです。
「早さ」は実行してからブラウザにhello worldが表示されるまでの速度
のことですが、たった1行のプログラムでは認識できません。
 
echoとprint以外にも出力命令はあります。
 
スクリーンショット 2015-08-17 8.14.47

var_dumpという一風変わった出力命令

一番最後の var_dump(バーダンプ) を使った場合の実行結果を見てみましょう。
※dumpは「(ゴミを)放り投げる」という意味があります。 varはvariable(変数)を意味しています。
 

<?php

$box = "aaa"; //変数boxにaaaという文字を入れます。

var_dump($box); //変数boxに対してvar_dumpを実行します。

実行結果

スクリーンショット 2015-08-17 8.22.23
 
実行結果を見てみると単純に 「aaa」と表示されるだけでなく、
string(3)という表示があるのがわかります。
これは 「aaa」が string = 文字 で 3文字だよ、ということを表しています。
 
そんなの当たり前じゃん!と思うかもしれませんが、今後、プログラムの中で
複雑な計算や処理を実施していくと、「あれ?今、変数の中身ってどうなってるの?
と自分でもわからなくなってきます。
 
そんな時に、var_dump命令を使って変数の中身を確認していきます。
※今はまだ説明しませんが、echoやprintでは正確に中身を確認できない場合があります。

まとめ

echoとprintではechoの方が僅かながら早いみたい。
 
phpにはvar_dumpや、print_rなどの他の出力命令も存在する。

【関連する記事】