【PHP基礎】PHPの基本文法
PHPの基本文法
この記事では、PHPの基本的な記述・構造について学習します。
PHPの最も基本的な機能は、文字列をHTML内に出力することです。
文字列の出力、コメント、文字列リテラルの書き方を学びましょう。
- PHPの基本的な記述ルール
- HelloWorld
- コメント
- 文字列
PHPの基本的な記述ルール
PHP のスクリプトは、「<?php」または、「<?=」で始まり、「?>」で終ります。
<?php /* ここにPHPプログラム */ ?>
HelloWorld
さっそく1つ、最も基本的なプログラムを作成しましょう。
Sample01.phpファイルを作成、中身を以下の通り記述してください。
(テキストでは、 ドキュメントルート/php_sample/Sample01.php に作成しています。)
コードサンプル
実行結果
ブラウザで、 http://localhost/php_sample/Sample01.php にアクセスした結果です。
下の様に「Hello World」と表示されていれば成功です。
3行目で書いた記述がphpのプログラムです。
コードサンプルの解説
- echo とは?
-
echo は、括弧の中の文字列を(ブラウザ等に)出力するための命令です。
括弧は省略できて、以下の様に書くこともできます。<?php echo "Hello World"; ?>
- 文字列は引用符で囲う
-
phpでは、変数や関数と言ったあらかじめ用意されたキーワードと、
それ以外の自分が任意で用意した文字列を区別する必要があります。
そこで用いられるのが、引用符です。
引用符は、ダブルクォーテーション”と、シングルクォーテーション’のどちらでも構いません。引用符がない場合どうなるか確かめるため、
3行目で、ダブルクォーテーションを消してみましょう。<?php echo Hello World; ?>
実行すると、警告やエラーがでます(phpのバージョンや設定による)
今回の「Hello World」は先ほどのechoのような命令・キーワードではないので、
こういった、文字列として扱いたい箇所には引用符が無いといけません。 - 文末のセミコロン
-
PHPは、文末に「;」を使います(Java、Python、C#、SQL等と同じ)。
この「;」は必須です。
これがない場合エラーになります。
- 改行処理
-
上のSample01.phpで、「Hello World」を3回連続表示させましたが、
横に続けて表示されていました。
改行処理を行うことで、文字列の句切れを視覚的に表現できます。PHPで改行を出力する際には、<br>と\nを組み合わせます。
注意すべきなのは、改行タグ<br>は引用符で囲むことです。改行のコードサンプル1
以下のコードは、HTMLの改行タグを文字列の末尾に加えています。
これで、ブラウザで画面を表示したときに、文字列が改行されます。
改行のコードサンプル2
先に示したコードは、ソースコードを表示すると、
文字列に改行がありません。
試しに、ブラウザで開いて、「右クリック ⇒ ページのソースを表示」
もしくは「Ctrl + U」で、ページのソースを表示させてください。(Chromeの場合の操作)上の様に、ソース上は改行されていません。
PHPは、改行・タブ・空白などをすべて無視して出力するためです。
これを改行させるには、以下の様に改行コード「\n」を使用します。以下のコードは、HTMLの改行タグと、PHPの改行文字を、
両方とも文字列の末尾に加えています。
これにより、ブラウザで画面を表示したときと、
HTMLのソースコードを見たときの、
両方で、文字列が改行されます。
コメント
PHPスクリプトを記述する際には、コメントを記述する事ができます。
コメントは、プログラムの動作とは関係なく記述できるメモ書きです。
コメントをつけておくと、後からコードを見た時に、
どのような動作をしているのか分かりやすくなります。
自分で書いたプログラムでも、後から見ると「????」という事があります。
ですので、コメントをつけて動作の説明をしておくと便利です。
HTMLや他のプログラム言語と同様、
コメント部分は、実行時には無視されます。
ですので、プログラムの動作には影響を与えません。
コメント形式
PHPのコメント形式は3種類あります。
- 「//」以降、行末(改行)まで。(C++形式)
- 「#」以降、行末(改行)まで(シェル・Perl形式)
- 「/*」以降「*/」まで。間に改行を含む事ができます。(C形式)
コメントのコードサンプル
注意すべきこととして、HTMLのコメント形式「」は使えません。
HTMLのコメント形式を使ったエラーのサンプル
文字列
PHPで文字列を指定する方法には、以下の3種類があります。
・一重引用符(「’」シングルクォーテーション)
・二重引用符(「”」ダブルクォーテーション)
・ヒアドキュメント
いずれも、PHPの命令や構文の部分と文字の部分を分けるために存在します。
一重引用符の場合
PHPでは、文字を扱うには、引用符でクォートするという決まりがあります。
シングルクォーテーションは、括った文字列内に変数があっても、
変数名自体を文字列として反映します(変数が認識されない)。
$x = 'abc'; echo '$x';
表示結果:$x
二重引用符の場合
ダブルクォーテーションは、括った文字列内に変数があると、
変数の内容を反映します(変数が認識される)。
$x = "abc"; echo "$x";
表示結果:abc
ヒアドキュメントの場合
PHPで文字列を扱いたい場合、さらにもう1つ「ヒアドキュメント」という方法があります。
ヒアドキュメントとは、「<<<」の後に任意のIDを指定し、
そのIDが行頭に来るまでの間のすべてが文字列として扱われます。
IDとして使用できる文字は、文字か数字か「_」(アンダーバー)ですが、
数字がID名の先頭にきてはいけません。
ヒアドキュメントでも、変数が展開されます。(変数内部のデータが文字列に変換されて表示されます。)
ヒアドキュメントのコードサンプル
ヒアドキュメントの表示結果
文字列のエスケープ
文字列に特別な記号や改行などを加えるには、「\」をエスケープ文字として用います。
「\」は、環境によっては、「¥」として表示されることがあることに注意してください。
(この場合、「\」と「¥」の違いは無視しても、コーディング作業上はかまいません。)
エスケープ一覧
記述 | 意味 | 詳細 |
---|---|---|
\n | 改行 | 次の行に移る |
\r | 復帰 | 行の先頭に戻る |
\t | 水平タブ | 半角スペース4ないし8個分の空白 |
\\ | バックスラッシュのエスケープ | \をそのまま表示 |
\$ | ドル記号のエスケープ | ドル記号$をそのまま表示 |
\¥ (2つ目は円記号) | 円記号のエスケープ | 円記号¥をそのまま表示 |
\” | 二重引用符のエスケープ | 二重引用符”をそのまま表示 |
\’ | 一重引用符のエスケープ | 一重引用符’をそのまま表示 |