PHPの基礎をきちんと身につけたい
構文や関数を使えるようになりたい
これからPHPを始めたいと思っている方は、基礎を覚えるまでにどういう手順で学習すればよいのか、迷ってしまう方も多いのではないでしょうか?
この記事ではPHPのインストール方法や動かし方、基本文法などについて紹介しますので、ぜひ参考にしてください。基礎文法だけを理解したい方は、「PHPの基本文法を理解しよう!」まで進めてください。
なお、次の記事ではそもそもPHPとはどんなプログラミング言語なのか、その特徴をできることや将来性も交え詳しく紹介しているので良ければ参考にしてください。
→ PHPとは何かわかりやすく解説!できることや将来性、学習方法も紹介
- PHPとはスクリプト言語でWebサービス開発でよく使われる
- FacebookやWordpressはPHPによって作成
- PHPを学習するためにはまず記述ルールから覚えよう
そもそもPHPとは
PHPは、サーバーサイドのスクリプト言語です。WEBサービスやWEBアプリ開発に用いられることが多く、世界中で高い人気を集めています。
WEBサービス開発に特化したプログラミング言語、PHPは構文がシンプルでプログラミング未経験者におすすめの言語です。
PHPでできること
PHPは、サーバーサイドを開発するためのプログラミング言語です。サーバーサイドとは、WebサイトやWebアプリケーションで、データベースなど、ユーザーの目に触れない部分です。
PHPを使ってユーザーが入力したデータを加工したり、データベースに保存したりします。また、ユーザーが要求したデータをデータベースから取得し、Webサイトに渡すのもPHPの役割です。
PHPは、有名なサービスでも採用されています。
例えば、Facebookは、PHPがベースとなる言語「Hack」で作られたSNSサービスです。また、CMS(コンテンツマネジメントシステム)として世界トップのシェアを誇るWordPressもPHPで作られています。
PHPについては以下の記事でも詳しく解説していますので、ぜひお読みください。
PHPのインストール
PHPを実行するためには、XAMPPまたはMAMPをインストールしましょう。
XAMPP(ザンプ)とは、PHPなどを実行するために必要なWebサーバー、データベースなどがパッケージ化された便利なソフトウェアです。
XAMPPをインストールすれば、PHPの実行環境を簡単に構築できます。Mac版では、MAMP(マンプ)というソフトウェアがあります。
Windows・Mac・LinuxのOS別のインストールについては、次の記事で詳しく解説してます。インストールがまだの方は参考にしてください。
PHPの基本的な記述ルール
PHPでプログラミングをする際、いくつかの決まり事があります。
1つ目は、ファイルの拡張子です。プログラミングしたファイルは保存してサーバーやPCに保存しておく必要があり、拡張子はそのファイルがどのような種類なのかを表すためのものです。
下の図にWebアプリケーションに関連する拡張子をまとめたので、ご覧ください。
Webサイトの画面を作るために必要なHTMLのファイルは「xxx.html」、JavaScriptのファイルは「xxx.js」といったようにファイル名につける拡張子のルールが決まっています。今回のテーマであるPHPのファイルは、「xxx.php」というファイル名を付ける必要があります。
パソコンやサーバーなどのコンピュータは、この拡張子を判断したうえで、それぞれのファイルに対して適切な処理を行います。
2つ目は、コードの書き方です。PHPでプログラミングする場合、以下のように「<?PHP」と「?>」で囲む必要があります。また、文の最後は「; (セミコロン)」で終えるのがルールです。
これはPHPの基本なので覚えておきましょう。
なお、PHPはHTMLの中に埋め込んで記載することも可能です。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHPの基本</title> </head> <body> <?php echo 'Hello samurai!'; ?> </body> </html>
PHPを実行しよう!
それではさっそくPHPでプログラミングしていきましょう。まずは、PHPを実行する方法についてご説明いたします。
なにごとも基本が大事なので、ひとつずつしっかりと理解をして先に進めるようにしてください。
Hello Worldを出力する方法
最初に、PHPでHello Worldを出力してみましょう。
Windowsの場合は例として「C:\xampp\htdocs」に新規フォルダ「php_test」を作成します。テキストエディタを起動して、以下のコードを記述します。
<?php echo 'hello world'; ?>
フォルダphp_testに拡張子を「.php」にしてファイルをindex.phpの名前で保存します。
Webサーバを起動後、WebブラウザのURL欄に「http://localhost/php_test/index.php」と入力し、そちらにアクセスします。Webブラウザ上にHello Worldが表示されれば成功です。
文の区切り方
前述のとおり、PHPでプログラミングをする際、終わりにセミコロンを使用します。
<?php echo 'hello world<br>'; echo 'hello japan<br>'; echo 'hello tokyo<br>'; ?>
hello world hello japan hello tokyo
PHPは改行しなくても認識してくれますが、プログラムが読みにくくなりバグが発生しやすくなるため、このような書き方はしないようにしましょう。
<?php echo 'hello world<br>'; echo 'hello japan<br>'; echo 'hello tokyo<br>'; ?>
hello world hello japan hello tokyo
変数の使い方
プログラミングにおいて、データを一時的に保存する箱が変数です。変数はまず宣言を行い、宣言した変数に対して値の代入を行います。
<?php $num1 = 100; $num2 = 200; echo "num1 = ", $num1; echo '<br>'; echo "num2 = ", $num2; ?>
num1 = 100 num2 = 200
変数を定義するには$変数名のように指定し、=(イコール)をはさんで値を代入します。
変数名として使えるのは、以下を組み合わせた文字列となります。
- 小文字の英字
- 大文字の英字
- 数字
- アンダースコア
ただし、数字は1文字目には使えないので注意しましょう。
コメントの付け方
コメントは、ソースコードの目的や説明を正しく伝えるために記述します。コメントを記述しておけば、ほかの人が内容を理解するのも容易になります。
また、デバッグなどで普段は実行させたくないコードを無効化するときもコメントは使われるので覚えておきましょう。
1行コメントする場合は、行頭に「//」を使用します
<?php // hello worldを出力する echo 'hello world' ?>
複数行コメントする場合は、コメント範囲を「/* */」で囲みます。
<?php /* echo 'コメントテスト1'; echo 'コメントテスト2'; echo 'コメントテスト3'; */ ?>
コメントについてもっと詳しく知りたい方は、以下の記事もあわせてご覧ください。
文字列の結合と変数の展開
文字列を結合したい場合は「.」(ドット)を使用します。ドットを使えば変数も結合できます。
<?php $a = 'samurai'; echo '1人目の' . $a; ?> 1人目のsamurai
また、文字列の中に変数を埋め込むことも可能です。
$a = 'samurai'; echo “1人目の$a"; ?> 1人目のsamurai
データ型を理解しよう
変数の使い方でわかるように、PHPでは変数の型を宣言する必要はありません。
動的に型付けを行うため、代入された値によって型が自動的に判断されます(=これを動的型付けと呼びます)。
<?php $num = 100; $pi = 3.14; $str_ = "samurai"; echo 'num = ', $num; echo '<br>'; echo 'pi = ', $pi; echo '<br>'; echo 'str_ = ', $str_; ?>
num = 100 pi = 3.14 str_ = samurai
配列の使い方
複数のデータを1つの変数で管理したい場合は、配列を使用します。配列は以下のように記述します。
<?php // 配列を宣言する $array = array( '1人目のsamurai', '2人目のsamurai', '3人目のsamurai' ); // 配列の1つの目の要素を表示する echo $array[0]; ?> 1人目のsamurai
配列の宣言を短縮する表現もあります。
<?php $array = [ '1人目のsamurai', '2人目のsamurai', '3人目のsamurai' ]; // 配列の3つの目の要素を表示する echo $array[2]; ?> 3人目のsamurai
通常の配列はご説明したように$array[2]のように、インデックスと呼ばれる数字で配列にアクセスします。
このインデックスを特定の文字列にしたものを連想配列といいます。連想配列の各要素にアクセスする場合は$array[‘first’]のようにキーの要素を指定します。
<?php // 配列を宣言する $array = array( 'first' => '1人目のsamurai', 'second' => '2人目のsamurai', 'third' => '3人目のsamurai' ); // 配列のキーが’first’の要素を表示する echo $array['first']; ?> 1人目のsamurai
演算方法
データの演算を行うには、以下の演算子を使用します。
演算子 | 意味 | サンプル | サンプルの説明 |
+ | 足す | $a + $b | $aと$bの合計 |
– | 引く | $a – $b | $aと$bの差 |
* | かける | $a * $b | $aと$bをかける |
/ | わる | $a / $b | $aを$bでわる |
% | 余り | $a % $b | $aを$bで割った余り |
PHPでは、比較演算子を使用します。比較演算子とは、2つの値を比較して等しければAを実行、等しくないならBを実行、といった具合に次の処理を決めることです。
比較演算子はたくさんの種類がありますが、プログラミングでは頻繁に使うものになります。それぞれの違いをきちんと理解しておきましょう。
比較演算子 | 意味 | サンプル | サンプルの説明 |
== | 等しい | $a == $b | $aと$bが等しい場合にtrue※ $aと$bの型は自動的に変換 |
=== | (型も含めて)等しい | $a === $b | $aと$bが型も含めて等しい場合にtrue |
!= | 等しくない | $a != $b | $aと$bが等しくない場合にtrue※ $aと$bの型は自動的に変換 |
<> | 等しくない | $a <> $b | $aと$bが等しくない場合にtrue※ $aと$bの型は自動的に変換 |
!== | (型も含めて)等しくない | $a !== $b | $aが$bと等しくない場合、または同じ型でない場合にtrue |
< | より少ない | $a < $b | $aが$b より少ない場合にtrue |
> | より多い | $a > $b | $aが$b より多い場合にtrue |
<= | より少ないか等しい | $a <= $b | $aが$bより少ないか等しい場合にtrue |
>= | より多いか等しい | $a >= $b | $aが$bより多いか等しい場合にtrue |
- 四則演算(+、-、*、/)
- 余剰(%):余りを出す計算です
<?php $num = 100; // 足し算 echo $num + 100; echo '<br>'; // 引き算 echo $num - 50; echo '<br>'; // 掛け算 echo $num * 10; echo '<br>'; // 割り算 echo $num / 10; echo '<br>'; // 余剰 echo $num % 30; echo '<br>'; ?>
200 50 1000 10 10
条件分岐(if文)
条件分岐(if文)とは、
「あなたの年齢は20歳以上ですか?」
「あなたの住まいは東京都ですか?」
上記のような質問があったとします。
条件分岐の構文を使えば、Yesの場合は「あなたの年齢は20歳以上ですね!」と出力され、Noの場合は何も出力されない、など処理を選択できます。
<?php $age = 25; if ($age >= 20){ echo 'あなたの年齢は20歳以上ですね!'; } ?> あなたの年齢は20歳以上ですね!
if文などの条件分岐の使い方については、以下の記事でも詳しく解説しています!
ループ処理(for文)
for文は、決まった回数分処理を繰り返したい場合に使用します。
例えば、処理を10回繰り返したい場合は以下のように記述します。
<?php for($val = 1; $val <= 10; $val++){ echo $val. '<br/>'; } ?>
1 2 3 4 5 6 7 8 9 10
for文の使い方については、以下の記事でも詳しく解説しています!
ループ処理(while文)
while文は、指定した条件がTrueになるまで処理を繰り返し行います。
例えば、変数$valの値が5になるまで(iが5未満の間繰り返す)繰り返し処理を行いたい場合は以下のように記述します。
<?php $val = 0; while ($val < 5) { echo $val; echo '<br>'; $val++; } ?>
0 1 2 3 4
ループ処理(foreach文)
foreach文は、指定された配列などの変数に存在する要素分だけ処理を繰り返し行います。
例えば、 配列$arrayの要素数だけ繰り返し処理を行いたい場合は、以下のように記述します。
<?php $array = [ '1人目のsamurai', '2人目のsamurai', '3人目のsamurai' ]; foreach($array as $key => $val) { echo $val . PHP_EOL; } ?>
1人目のsamurai 2人目のsamurai 3人目のsamurai
PHPの使い方のポイント
PHPは、HTML内に埋め込んで使えます。
PHPを組み合わせれば、HTMLに表示する値を動的に変更することが可能です。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHPの基本</title> </head> <body> <?php echo 'Hello samurai!'; ?> </body> </html>
HTMLに現在日時を表示することもできます。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PHPの基本</title> </head> <body> <?php date_default_timezone_set('Asia/Tokyo'); echo date("Y/m/d H:i:s"); ?> </body> </html>
まとめ
この記事では、これからPHPの勉強をはじめる初心者の方に向けて、PHPのインストール方法や動かし方、基本的文法などをご紹介しました。
ご紹介した内容について簡単だと感じた方は、さらに難しいプログラミングにチャレンジしましょう。また少し難しいと感じた方は、まず今回ご紹介した内容を1つずつ実行し、理解していくことをおすすめします。
焦る必要はまったくありません。ゆっくりでいいので1歩ずつPHPエンジニアへの道を歩んでいきましょう。
この記事のおさらい
PHPとはWebサービス開発に特化したプログラミング言語で、構文がシンプルでプログラミング未経験者でも習得が容易な言語です。
変数や条件分岐、関数や比較演算子などを覚えましょう。なお、PHPの拡張子は「.php」です。
PHPを使えば、WebサイトやWebアプリケーションのサーバーサイドを開発できます。FacebookやWordPressなど、人気が高いサービスでも使用されています。