PHPを使えば、変数に格納した文字列をHTMLに出力することができます。最も広く使われているのが「echo」を使った方法ですが、他にも方法はあります。
そこで今回は、PHPで文字列をHTMLに出力する方法について解説していきます。これからPHPプログラミングを学ぶ人にとっては、必須となる知識なので、この機会にぜひご覧ください。
目次
PHPは変数に格納した文字列をHTMLに出力できる
PHPを使えば、変数に格納した文字列をHTMLに出力できるようになります。
HTMLでPHPで定義した文字列を出力する方法は、次の通りです。
1 2 3 4 5 6 7 8 9 |
<?php $hoge = "あああ"; ?> <html> <head></head> <body> <p>PHPで定義した変数値は「<?php echo $hoge; ?>」です。</p> </body> </html> |
上記コードでは、変数hogeに格納された文字列を、HTMLとして表示しています。
また、PHPで定義する変数の値に、HTMLタグを格納して出力することもできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $hoge = "あああ"; ?> <html> <head></head> <body> <p> PHPで定義した変数値は「<?php $span = "<span style='color:red'> $hoge </span>"; echo $span; ?>」です。 </p> </body> </html> |
上記コードでは、変数hogeに格納された文字列を、HTMLとして赤文字で表示しています。PHPのechoで出力することにより、タグの部分も通常のHTMLタグとして認識され、通常のHTML同様の表示結果が得られます。
HTMLはプログラミング言語ではなく、マークアップ言語です。マークアップ言語とは、Webサイトなどのコンテンツに、構造を指定する言語です。言ってしまえば、サイトの設計図のようなものなので、HTML単体でプログラム処理を行うことはできません。
そのため、文字列の操作などといった、Webサイト側の処理が必要な場合には、PHPやJavaScriptなどのプログラミング言語が利用されます。
PHPで文字列をHTMLに出力する方法
PHPで定義した文字列をHTMLソースとして表示する方法は、「echo」以外にも存在します。また、echoを使う際にもいくつか注意点があります。
そこで、PHPを使ってHTMLに文字列を出力する方法について詳しく紹介していきます。
echoを使って出力する方法
echoでは、文字列や変数、配列、特殊文字を複数組み合わせた結果の出力ができます。そのため、工夫次第で、かなり自由度の高い文字列を出力することもできます。
それでは、echoの使い方を詳しくみていきましょう。
複数の値を出力する
echoは、「,(カンマ)」か「.(ドット)」を使って、一度に複数の値を出力できるのが特徴です。
1 2 3 4 5 6 |
<?php $hoge = "123"; echo $hoge,$hoge,$hoge; ?> |
上記コードでは、変数hogeの値を3回繰り返して出力しました。
引用符で囲って出力する
echoは「‘ ‘(シングルクォート)」と「” “(ダブルクォート)」の引用符で文字列を囲むことで、出力する際の処理が変わります。各引用符の違いは次の通りです。
- ‘ ‘(シングルクォート):全て文字列として出力する
- ” “(ダブルクォート):変数・配列の値の出力や、特殊文字を出力する
それでは、実際の処理の違いを確認してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $hoge = 'あああ'; //シングルクォート echo '$hoge'; //改行 echo '<br>'; //ダブルクォート echo "$hoge"; ?> |
あああ
上記コードの通り、変数hogeをシングルクォートで囲んだ場合、変数値は出力されず、変数名を文字列として出力しました。一方、変数hogeをダブルクォートで囲んだ場合には、変数値が出力されました。
複数行にわたって出力する
echoは文字列を一行だけでなく、複数行にわたって出力することもできます。
1 2 3 4 5 6 7 |
<?php echo 'あああ<br> いいい<br> ううう'; ?> |
いいい
ううう
一行ごとにecho文を記述する必要がないのでわかりやすくていいですね。
特殊文字を出力する
特殊文字を文字列として出力する場合には、特殊文字の前に「\(エスケープシーケンス)」を記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php //NG例 echo "あああ\tいいい"; echo '<br>'; //OK例 echo "あああ¥\tいいい"; echo '<br>'; //シングルクォート echo 'あああ\tいいい'; ?> |
あああ\tいいい
あああ\tいいい
出力結果を確認してみると、エスケープシーケンスを使わなかったecho文の「\t」はタブと認識されていますが、エスケープシーケンスを使ったecho文では文字列として出力されています。
なお、シングルクォートで囲んだ場合は、全てを文字列として認識するので、特殊文字もただの文字列として出力されます。
printを使って出力する方法
PHPでは、printを使ってHTMLに文字列を出力することもできます。機能はechoと大差はありませんが、printは複数の値をつなげた出力ができません。一方、printには戻り値があり、1を返します。
それでは、printの使い方を詳しくみていきましょう。
1 2 3 4 5 6 7 8 9 |
<?php $rtn = print 'あああ'; print '<br>'; print $rtn; ?> |
1
上記の通り、使い方的にはechoとほとんど同じです。
ただし、前述した通り、複数の文字列を組み合わせて出力することはできません。正直なところechoの方が制限なく使えて、扱いやすい機能です。printは、戻り値を確認したい場合にのみ、利用するのがおすすめです。
ヒアドキュメントを使って出力する方法
PHPでは、ヒアドキュメントという方法を使って、HTMLに文字列を出力することもできます。
ヒアドキュメントは、HTMLのように文字を入力するだけで、引用符やエスケープシーケンスを気にせずに記述することができます。
それでは、ヒアドキュメントの使い方を詳しくみていきましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $hoge = 'ううう'; // ヒアドキュメント 開始 echo <<<EOM 1:あああ<br> 2:いいい<br> 3:$hoge EOM; // ヒアドキュメント 終了 ?> |
2:いいい
3:ううう
ヒアドキュメントの有効範囲は、IDに挟まれたエリアです。上記コードであれば「EOM」に挟まれた範囲です。ヒアドキュメントには、IDの命名や構文の書き方にルールがあります。どうしても使わなければならない機能でもないので、あまり使われる機会のない機能ではあります。
まとめ
いかがでしたでしょうか?
今回は、PHPを使ってHTMLに文字列を出力する方法について紹介してきました。
文字列を出力する主な方法は「echo」「print」「ヒアドキュメント」の3つです。各機能とも一長一短はありますが、最も広く利用されている「echo」が一番扱いやすいといえます。
まずは「echo」の使い方をしっかりと理解して、必要に応じて、別の機能と使い分けすると良いでしょう。