PHPの基本文法についてまとめました。
今でも国内のWEBサービスでは一番使われている言語と言われていますからね。なんだかんだで学習が必要な分野です。
本当に基本的な範囲かと思いますが、PHPのコードを書く際に参考にして下さい。
※サンプルコードを実行する場合は、<?php~の後に記載して下さい。php以外のコードも含む場合は「<?php」と「?>」で囲って下さい
■前提知識
・PHPの実行環境を構築している(クラウドIDEなどでも当然OK)
コンテンツ
最初に実行したいPHPコード
では最初のPHPコードを実行してみます。
PHPの細かい文法ルールなどは実際にサンプルを見たり実行したりしながら身につけるのが良いです。
文字の出力(Hallo World!!)
定番の「Hallo World!!(ハローワールド)」を出力してみましょう。
どんなプログラムでも最初に覚える事になるのが、実はこの出力関数(echoやprintなど)ではないでしょうか。
■PHPコード
1 |
echo "Hello World!!"; |
■実行結果
1 |
Hello World!! |
変数
変数を使う時は変数名の頭に「$」を付けます。
数値と文字列の場合で、別々の型を宣言する必要はありません。
実際にサンプルを確認してみて下さい。
数値
■PHPコード
1 2 |
$value = 123; echo "$value"; |
■実行結果
1 |
123 |
文字列
■PHPコード
1 2 |
$str = "Hello World!!"; echo $str; |
■実行結果
1 |
Hello World!! |
配列
PHPで配列を作る時はarray関数を使うと便利です。
配列の中身を一気に設定する事ができます。
■PHPコード
1 2 3 4 |
$color = array("ぜろ","いち","に"); echo "$color[0]\n"; echo "$color[1]\n"; echo "$color[2]\n"; |
■実行結果
1 2 3 |
ぜろ いち に |
計算処理
数値演算
■PHPコード
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 |
//加算 $wk_val_1 = 10; $wk_val_2 = 5; $val = $wk_val_1 + $wk_val_2; echo "$val\n"; //減算 $wk_val_1 = 10; $wk_val_2 = 3; $val = $wk_val_1 - $wk_val_2; echo "$val\n"; //乗算 $wk_val_1 = 10; $wk_val_2 = 2; $val = $wk_val_1 * $wk_val_2; echo "$val\n"; //除算 $wk_val_1 = 10; $wk_val_2 = 3; $val = $wk_val_1 / $wk_val_2; echo "$val\n"; //あまり算 $wk_val_1 = 10; $wk_val_2 = 3; $val = $wk_val_1 % $wk_val_2; echo "$val\n"; |
■実行結果
1 2 3 4 5 |
15 7 20 3.3333333333333 1 |
文字連結
■PHPコード
1 2 3 4 |
$str1 = "Hello"; $str2 = " "; $str3 = "World!!"; echo $str1 . $str2 . $str3; |
■実行結果
1 |
Hello World!! |
分岐処理
次は分岐処理をしてみましょう。
既に他のプログラミング言語をご存じであれば、そのまま書けてしまいます。
条件分岐は「if、elseif、else」
■phpコード
1 2 3 4 5 6 7 |
if($val == 1){ echo "if文を通過中です。"; }elseif($val == 2){ echo "elseif文を通過中です。"; }else{ echo "else文を通過中です。"; } |
■実行結果
1 |
if文を通過中です。 |
■実行結果($valを2にした場合)
1 |
elseif文を通過中です。 |
■実行結果($valを3にした場合)
1 |
else文を通過中です。 |
ループ
プログラムと言えば繰り返しです。
PHPのループ文についても押さえておきましょう。
for文
PHPのfor文の構文は以下になります。
■PHPのfor構文
1 2 3 |
for(初期値; 条件式; 増減式){ 処理を実行 } |
他の言語と同様の記述方法なので分かりやすいと思います。
実際に0~9までの10個の数字を出力するコードを書いてみましょう。
■PHPコード
1 2 3 |
for($i = 0; $i < 10; $i++){ echo "$i\n"; } |
■実行結果
1 2 3 4 5 6 7 8 9 10 |
0 1 2 3 4 5 6 7 8 9 |
基本中の基本の構文ですね!
while文
while文の基本構文は以下になります。
■whileの構文
1 2 3 |
while(条件式){ 実行処理 } |
while文には色々な記述方法があるのですが、まずは他の言語と同じ書式のこの構文を覚えておいて下さい。
■PHPコード
1 2 3 4 5 |
$i = 0; while($i < 10){ echo "$i\n"; $i++; } |
■実行結果
1 2 3 4 5 6 7 8 9 10 |
0 1 2 3 4 5 6 7 8 9 |
関数
■関数の書き方
1 2 3 |
function 関数名(引数){ 実行処理 } |
※引数は省略も可能です。
■phpコード
1 2 3 4 5 |
function test_func($val1,$val2){ $total = $val1 + $val2; echo $total; } test_func(1,2); |
■実行結果
1 |
3 |
HTMLの出力
PHPの最大の特徴と言えば、以下の様なHTMLとの連動ではないでしょうか。
・HTMLの中にPHPコードを記述できる
・PHPで記述した結果(HTML)を出力できる
記述方法はいくつかありますが、やっている事は全て同じです。
実際にHTMLの出力をしてみましょう。
HTMLの中にPHPを記述する場合
まずはHTMLの中でPHPを記述する方法です。
HTML自体は普通に記述すればOKなのですが、PHPを呼び出す時だけは<?php~>で囲う記述方法になります。
事前にPHPのコードで変数を設定しておき、HTMLの記述の中で再度PHPの変数を呼び出すという記述になります。
■PHPコード(このコードだけは<?php~?>を記述しています)
1 2 3 4 5 |
<?php $word1 = 'hello'; $word2 = 'world!'; ?> <p><?php echo $word1; ?><br><?php echo $word2; ?><p> |
■実行結果
1 |
<p>hello<br>world!<p> |
■実行結果(ブラウザ)
PHPの変数を使ってHTMLを生成する場合
次はPHPの変数の中にタグを設定して、PHPのコードを使ってHTMLを出力する方法です。
■PHPコード
1 2 3 4 5 6 |
$word1 = 'hello'; $word2 = 'world!'; $tag_p_s = '<p>'; $tag_p_e = '<p>'; $tag_br = '<br>'; echo $tag_p_s.$word1.$tag_br.$word2.$tag_p_e; |
■実行結果
1 |
<p>hello<br>world!<p> |
■実行結果(ブラウザ)
便利なヒアドキュメントを使おう!
ここでヒアドキュメントというものも覚えておきましょう。PHPでHTMLを書こうとすると何度もechoが発生して、コードがかなり読みにくくなる事があります。
HTML部分だけベタ書きしたいな~という場合にはヒアドキュメントが活躍します。
以下のコードと実行結果を確認していただくと、EOMで囲まれた部分はHTMLのベタ書きが可能である事が分かります。このEOM~EOM;で囲まれた部分はどれだけHTMLのベタ書きをしても大丈夫です。一気にソースの可読性があがります。
※変数名はEOMでなくともOKです。
■PHPコード
1 2 3 4 5 6 |
$word1 = 'hello'; $word2 = <<< EOM $word1<br> world!!<br> EOM; echo $word2; |
■実行結果
1 2 |
hello<br> world!!<br> |
■実行結果(ブラウザで開いた場合)
まとめ
PHP構文の基本的な記述方法について今回は解説しました。
大切なのは最後にお伝えしたHTMLを吐き出す部分の記述かなと思います。プロジェクトによってコーディングルールが全然違いますので、プロジェクトのルールに従って記述をしていく様にしましょう。
※といってもごちゃ混ぜで書かれているものは結構多いですが。。。
WEB系の言語は他にもありますが、やはりPHPは今でも多くのWEBサービスで扱われている言語ですし、覚えてしまえば非常に簡単なので、ここで基本だけはしっかりと押さえておきましょう。