みなさんは、PHPプログラミングで文字列を出力する際に使用される「echo」を正しく使えていますか?echo文は、汎用性の高い機能なので使い方をマスターすれば、PHPプログラミングの効率がアップします。
使い方自体は簡単ですが、ちょっとした注意点もあります。プログラミング初心者の方だけでなく、普段からechoを使っている人も確認の意味でも、ぜひご覧ください。
目次
PHPにおけるecho文の使い方
PHPでは、echo文を使うことでブラウザに文字列を出力します。echo文の書き方は、次の通りです。
1 |
void echo( string $hoge [, string $... ] ) |
引数のパラメータには、出力したい文字列や変数などを指定します。また、複数の文字列や変数の値を連結する場合には、「,(カンマ)」か「.(ドット)」で区切る必要があります。
なお、echo文を使用する際に括弧は必要ありません。他とコードと差別化するためにも、括弧を使用せずに使うのが一般的です。
PHPでechoを使用して文字列を出力する
それでは、実際にechoを使って文字列を出力してみましょう。まずは、echoを使用して様々な文字列の出力例を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php //文字列を指定 echo '文字列:Output example'; echo '<br>'; //変数を指定 $hoge1 = 'Output hoge1'; $hoge2 = 'Output hoge2'; echo '変数:'.$hoge1.' '.$hoge2; echo '<br>'; //配列を指定 $array = [0=>'Output example0', 1=>'Output example1', 2=>'Output example2']; echo '配列:'.$array[1]; echo '<br>'; //複数文字列を指定 echo '複数文字列:'.'Output '.'example'; echo '<br>'; //ヒアドキュメントで出力 echo <<<END ヒアドキュメント: Output example END; ?> |
変数:Output hoge1 Output hoge2
配列:Output example1
複数文字列:Output example
ヒアドキュメント:
Output example
上記コードのように、echoの引数には様々な表現を用いることができます。なお、「echo ‘<br>’;」は、ブラウザ出力上での改行を意味します。
PHPでecho文を使うときの注意点
PHPプログラミングでecho文を使うときにはいくつかの注意点が存在します。そこで、主な注意点を紹介していきます。
- 「’ ‘」と「” “」の使い方は違う
- 特殊文字は「\」を使って表示する
それでは、各注意点について詳しくみていきましょう。
「’ ‘」と「” “」の使い方は違う
echo文では、「’ ‘(シングルクォーテーション)」以外にも、「” “(ダブルクォーテーション)」で囲むことでも、文字列の出力ができます。
そして、シングルクォーテーションとダブルクォーテーションの使い方には明確な違いがあります。
- ‘ ‘(シングルクォーテーション):文字列をそのまま出力する
- ” “(ダブルクォーテーション):変数や特殊文字も出力できる
シングルクォーテーションで囲まれた場合、変数や配列、特殊文字が含まれていた場合でも、全てを文字列として認識します。変数などを使った出力を行いたいのであれば、ダブルクォーテーションで囲むようにしましょう。
それでは、実際の出力結果の違いを確認してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $hoge = 'test'; //シングルクォーテーションを使用 echo '1:$hoge'; echo '<br>'; //ダブルクォーテーションを使用 echo "2:$hoge"; ?> |
2:test
上記コードでは、変数hogeに文字列「test」を格納しました。変数をシングルクォーテーションで囲んだ場合、出力結果には変数名が表示されます。一方、ダブルクォーテーションで囲んだ場合には、変数に格納した文字列が出力されました。
特殊文字はエスケープシーケンスを使って表示する
プログラミングにおいて、特別な意味を持つ文字のことを「特殊文字」といいます。例えば、PHPのソースコード上で改行は、改行コードで記述します。しかし、この改行コードを文字列としてブラウザに出力しようと記述しても、ブラウザは改行コードを「改行」として認識してしまいます。
そのため、特殊文字を表示させるには、特殊文字の前に「エスケープシーケンス」を付ける必要があります。エスケープシーケンスを付けることで、文字列として出力したいことを、ブラウザに通知するのです。
なお、echo文では引数をシングルクォーテーション(’ ‘)で囲むことで、文字列として認識します。そのため、シングルクォーテーションを使用した場合にも、改行コードは文字列として出力されます。
PHPのechoとprintの違い
PHPのechoとprintは、どちらも文字列を出力する機能です。一見、同じような機能だと思われがちですが、実は使い方に違いがあります。
echoとprintの主な違いは次の通りです。
- echoは複数の引数を指定可能だが、printは1つのみ
- echoは文で、printは式
- printは戻り値として1を返す
最大の違いは、指定できる引数の数でしょう。複雑な出力をする場合、echoは引数に各パラメータを組み合わせて表示することができます。しかし、printは出力する文字列を生成する手間が必要になります。
手間もかかりますが、コードの見やすさという観点からも、echoの方が使いやすいといえるでしょう。そのため、特に理由がないのであれば、printよりもechoを使うのがおすすめです。
まとめ
いかがでしたでしょうか?PHPにおけるecho文の使い方について解説してきました。
echoは、文字列の出力はもちろんのこと、変数や配列に格納された値を出力することができます。思い通りに出力するには、複数文字列の連結や特殊文字のエスケープなどの機能を使える必要があります。
echoは、PHPプログラミングを学ぶのであれば必須ともいえる知識です。echoを使うには、いくつかの注意点はありますが難しくはありません。すぐに使い方をマスターできるでしょう。