こんにちは、大学生エンジニアのいのうえ(@inouelog)です!
PHPのechoとprintって似てるけど違いはあるの?どっちを使えば良いの?
上記の悩みを解決します。
本記事ではechoとprintの違いや、どっちを使えば良いかを解説します。
結論から先に言うと、違いはありますがどっちを使ってもOKです。
私もPHPを学び始めたときは、参考にする教材によってecho派とprint派に別れていて混乱しました。
PHP初心者の方でもわかるように丁寧に解説するので、「違いが分からずモヤモヤする…」という方は、ぜひ最後まで読んでくださいね。
・echoとprintの違いが気になる人
・echoとprintのどっちを使えば良いか迷っている人
・echoとprintの違い
・echoとprintのどっちを使えば良いか
echo, printとは
例えば、以下のように文字列を出力します。
echo
echo '日本';
日本
print '日本';
日本
ブラウザで見ると全く同じように出力されます。
echoとprintの違い
echo:戻り値なし print:戻り値1を返す
printは戻り値(返り値)を返します。
成功すると戻り値1、失敗すると戻り値0です。
$japan = print '日本';
print '<br>'; //改行
print $japan;
とすると、
日本
1
と出力されます。
echo:引数複数OK print:引数一つだけ
echoはカンマで区切って複数の引数を取ることができます。
echo '日本', 'と', 'アメリカ';
とすると、
日本とアメリカ
と文字列が連結して出力されます。
printでは、カンマで区切って文字列を連結して出力はできませんが、ドットを使えば出来ます。
print '日本'.'と'.'アメリカ';
この場合は、引数は【’日本’.’と’.’アメリカ’】のただ一つです。もちろん、echoでもこの記述は可能です。
ドットは変数が入ってくるときによく使います。
$japan = '日本';
$us = 'アメリカ';
print $japan.'と'.$us;
ちなみに、echoもprintも関数ではなく言語構造です。つまり、引数を括弧で囲む必要はありません。
しかし、関数との見た目の一貫性を保つために、括弧を付けることができます。
echo('日本');
print('アメリカ');
echoはprintより少しだけ早い
まぁ、違いを肉眼で確認するのは難しいとは思いますが、echoのほうが少しだけ早いです。
echoとprintどっちを使えば良い?
どちらでも良いです。
でも、迷うからどっちが良いか教えて!
という方もいると思うので…。
私個人の意見になってしまいますが、echoを使えば良いと思います。理由は2点あります。
- echoは4文字、printは5文字なので、echoはタイプ数が少なく済む
- echoのほうが少しだけ早い
まとめ
PHPのechoとprintの違いや、どっちを使えば良いかを解説しました。
おさらいすると、