PHPを始める前に知りたい、基本的な文法といくつかのタグ
はじめに
これから始めるPHP入門コラムでは、PHPを学ぶ人が、PHPで簡単なプログラムを書けるようになるまでに必要な知識とポイントをTips的に書いていきます。今後PHPのスキルを身につけて仕事に役立てたい、という方のために「PHP技術者認定初級試験」の出題範囲を意識しながら進めていきますので、ぜひ最後までお付き合いください。
今回のあらすじ
- PHPの文法
- 開始タグと終了タグ
- 関数・変数
- 大文字小文字
- ホワイトスペース
- コメント
PHPの文法
PHPを書くのは人間ですが、実行するのはコンピュータですよね。コンピュータがPHPを理解できるように、私たちは文法に従ってPHPを書く必要があります。文法と言っても外国語のように難しいものではありませんので、すぐに覚えることができますよ。
開始タグと終了タグ
PHPのコードは開始タグと終了タグの間に書きます(※)。それ以外の場所に書いたものは、PHPのコードとしてコンピュータに実行してもらえずに、書いたものがそのままになります。ウェブページならば、そのままHTMLとしてブラウザに判断されます。
※ファイルの最後に終了タグが来る場合だけは、その終了タグを省略することができます。省略する方が安全ですが、今はまだ理由が説明できませんので、そういうものだと思っていてください。
前回のコードをもう一度見てみましょう。
<ファイル>
php01-hello.php
<?php echo "やった、やった、やったよー!"; ?>
1行目の が開始タグで、3行目の
?>
が終了タグです。2行目の echo
は、その後ろに続く内容を出力します。文字を出力する場合は、ダブルクオテーション(")かシングルクオテーション(')で囲います。行末のセミコロン(;)は文の区切りを表します。この例では文は1つしかありませんが、一行に複数の文を書くこともできます。
<実行結果>
やった、やった、やったよー!
<画面表示>
http://(設定したURL)/php01-hello.php
やった、やった、やったよー!
画面でも一応表示されましたが、ブラウザで表示させるなら、正しくHTMLを書いた方がいいですね。HTMLタグを追加してみましょう。
(1)echo
でHTMLタグを出力する方法
<ファイル>
php02_html_1.php
<?php echo "<html>"; echo " <body>"; echo " <p>こんにちは!</p>"; echo " <p>私のブログへようこそ!</p>"; echo " </body>"; echo "</html>"; ?>
<実行結果>
<html> <body> <p>こんにちは!</p> <p>私のブログへようこそ!</p> </body></html>
読みにくいHTMLが出力されてしまいました。このままでもブラウザで表示できますが、もう少し読みやすいHTMLを出力したいですよね。実行結果にも改行を入れるには、echo
で改行自体も出力します。
(2) echo
でHTMLタグと改行を出力する方法
<ファイル>
<?php echo "<html>\n"; echo " <body>\n"; echo " <p>こんにちは!</p>\n"; echo " <p>私のブログへようこそ!</p>\n"; echo " </body>\n"; echo "</html>\n"; ?>
後日解説する予定ですが、\n
が改行です(表示フォントによって、最初の記号は円マークまたはバックスラッシュになります)。
<実行結果>
<html> <body> <p>こんにちは!</p> <p>私のブログへようこそ!</p> </body> </html>
今度は読みやすいHTMLが出力されました。
(3)HTMLタグをPHPコードの外に書く方法
開始タグと終了タグの外に書いたものはPHPとして実行されないので、以下のような書き方もできます。PHPコードの外側では、書いた文字列がそのまま出力されます。改行もそのまま反映されます。
<ファイル>
<html> <body> <p><?php echo "こんにちは!"; ?></p> <p><?php echo "私のブログへようこそ!"; ?></p> </body> </html>
(4)ヒアドキュメントを使う方法
echo
を何行にも渡って書く代わりに、ヒアドキュメントを使ってみましょう。 から
WELCOME;
までに書いた文字がそのまま echo
で出力されます(WELCOME;
は行頭に書かなくてはいけません)。スペースもタブも改行もすべて反映されます。WELCOME
以外にも、好きな文字を使うことができます。
<ファイル>
<?php echo <<<WELCOME <html> <body> <p>こんにちは!</p> <p>私のブログへようこそ!</p> </body> </html> WELCOME; ?>
(5)PHPを使わない方法
そもそもただの変化しない文字列なので、PHPを使わず直接書くことができます。そんなことを言っては元も子もありませんね(笑)
<html> <body> <p>こんにちは!</p> <p>私のブログへようこそ!</p> </body> </html>