PHP基礎を超初心者向けに徹底解説!構文・文法・関数が丸わかり!

PHPの基礎をきちんと身につけたい
構文や関数を使えるようになりたい

これからPHPを始めたいと思っている方は、基礎を覚えるまでにどういう手順で学習すればよいのか、迷ってしまう方も多いのではないでしょうか?

この記事ではPHPのインストール方法や動かし方、基本文法などについて紹介しますので、ぜひ参考にしてください。基礎文法だけを理解したい方は、「PHPの基本文法を理解しよう!」まで進めてください。

なお、次の記事ではそもそもPHPとはどんなプログラミング言語なのか、その特徴をできることや将来性も交え詳しく紹介しているので良ければ参考にしてください。

→ 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で何ができるのか?具体的なサービスや活用事例を紹介!
更新日:2024年3月1日

PHPのインストール

PHPのインストール

PHPを実行するためには、XAMPPまたはMAMPをインストールしましょう。

XAMPP(ザンプ)とは、PHPなどを実行するために必要なWebサーバー、データベースなどがパッケージ化された便利なソフトウェアです。

XAMPPをインストールすれば、PHPの実行環境を簡単に構築できます。Mac版では、MAMP(マンプ)というソフトウェアがあります。

Windows・Mac・LinuxのOS別のインストールについては、次の記事で詳しく解説してます。インストールがまだの方は参考にしてください。

【初心者必見!】PHPをインストールする方法
更新日:2024年3月1日

PHPの基本的な記述ルール

PHPでプログラミングをする際、いくつかの決まり事があります。

1つ目は、ファイルの拡張子です。プログラミングしたファイルは保存してサーバーやPCに保存しておく必要があり、拡張子はそのファイルがどのような種類なのかを表すためのものです。

下の図にWebアプリケーションに関連する拡張子をまとめたので、ご覧ください。

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でプログラミングしていきましょう。まずは、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入門】コメント・コメントアウトの使い方を解説
更新日:2024年3月1日

文字列の結合と変数の展開

文字列を結合したい場合は「.」(ドット)を使用します。ドットを使えば変数も結合できます。

<?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文などの条件分岐の使い方については、以下の記事でも詳しく解説しています!

【PHP入門】if文による条件分岐の使い方を基礎から応用まで
更新日:2024年3月1日

ループ処理(for文)

ループ処理(for文)

for文は、決まった回数分処理を繰り返したい場合に使用します。

例えば、処理を10回繰り返したい場合は以下のように記述します。

<?php
 
  for($val = 1; $val <= 10; $val++){
    echo $val. '<br/>';
  }
 
?>
1
2
3
4
5
6
7
8
9
10

for文の使い方については、以下の記事でも詳しく解説しています!

【PHP for文】初心者が覚えておくべき3つのポイントとは
更新日:2024年3月1日

ループ処理(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文)

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の使い方のポイント

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とは?

PHPとはWebサービス開発に特化したプログラミング言語で、構文がシンプルでプログラミング未経験者でも習得が容易な言語です。

PHPの基礎で覚えることは?

変数や条件分岐、関数や比較演算子などを覚えましょう。なお、PHPの拡張子は「.php」です。

PHPでできることは?

PHPを使えば、WebサイトやWebアプリケーションのサーバーサイドを開発できます。FacebookやWordPressなど、人気が高いサービスでも使用されています。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次