PHPに入門：基礎文法を学んで初めてのプログラムを書いてみた

# はじめに
こんにちは、Webエンジニアの岩田史門([@SI_Monxy](https://x.com/SI_Monxy))です！
今回はPHPの基礎文法について記事を書いてみました！
改善点や修正点があれば、コメントにて優しくご指導いただけると嬉しいです！！

# 概要
PHPを使い始めることになり、最近基礎文法などを学んだため、アウトプットとしてまとめて見ることにしました。本記事では、PHPの基本的な文法と初めてのプログラムの書き方を解説します。

# PHPとは
PHPは、動的なウェブページを作成するためのサーバーサイドスクリプト言語です。初心者にとって学びやすく、強力な機能を持つPHPを使えば、ウェブアプリケーションを簡単に作成できます。

# PHPの基本文法
## PHPタグ
PHPコードは、<?php と ?> タグで囲まれます。このタグの中にPHPコードを書きます。
``` php 
<?php
    // ここにPHPコードを記述
?>
```
## コメント
コメントはコードの説明やメモを書くために使用します。
``` php
<?php
    // これは1行コメントです

    /*
     これは複数行コメントです
     */
?>
```
## 変数
変数はデータを格納するために使用します。変数名は $ 記号で始まります。
``` php
<?php
    $greeting = "Hello, World!";
    $number = 42;
?>
```
## データ型
PHPは以下のデータ型をサポートしています。

- 文字列 (String)
- 整数 (Integer)
- 浮動小数点数 (Float)
- 論理値 (Boolean)
- 配列 (Array)
- オブジェクト (Object)
- NULL (Null)

``` php
<?php
    $string = "PHP";
    $integer = 2024;
    $float = 3.14;
    $boolean = true;
    $array = array(1, 2, 3);
    $object = new stdClass();
    $null = null;
?>
```
## 配列
配列は複数の値を格納するために使用します。
``` php
<?php
    $fruits = array("apple", "banana", "cherry");
    echo $fruits[0]; // "apple"を出力
?>
```

## 演算子
PHPは様々な演算子をサポートしています。

- 算術演算子: +, -, *, /, %
- 代入演算子: =, +=, -=, *=, /=
- 比較演算子: ==, !=, >, <, >=, <=
- 論理演算子: &&, ||, !

``` php
<?php
    $a = 10;
    $b = 20;

    $sum = $a + $b; // 30
    $isEqual = ($a == $b); // false
?>
```

## 条件分岐
if 文や switch 文を使用して条件分岐を行います。
``` php
<?php
    $age = 18;

    if ($age >= 18) {
        echo "成人です";
    } else {
        echo "未成年です";
    }

    $day = "月曜日";

    switch ($day) {
        case "月曜日":
            echo "今日は月曜日です";
            break;
        case "火曜日":
            echo "今日は火曜日です";
            break;
        default:
            echo "今日は平日です";
            break;
    }
?>
```

## ループ
for 文、while 文、foreach 文を使用してループ処理を行います。

``` php 
<?php
    for ($i = 0; $i < 5; $i++) {
        echo $i;
    }

    $count = 0;
    while ($count < 5) {
        echo $count;
        $count++;
    }

    $numbers = array(1, 2, 3);
    foreach ($numbers as $number) {
        echo $number;
    }
?>
```

# 初めてのPHPプログラム
## 環境設定
PHPを実行するためには、PHPがインストールされたサーバーが必要です。ローカル環境では、以下のツールを使用すると簡単にセットアップできます。

- [XAMPP](https://www.apachefriends.org/)
- [MAMP](https://www.mamp.info/en/windows/)

## Hello Worldプログラム
まずは、PHPの基本である「Hello, World!」プログラムを書いてみましょう。
``` php
<?php
    echo "Hello, World!";
?>
```
上記のコードを hello.php として保存し、ブラウザで実行します。これで、「Hello, World!」と表示されるはずです。

## フォームデータの処理
次に、HTMLフォームからデータを受け取り、PHPで処理する例を見てみましょう。

### HTMLフォーム
以下のHTMLコードを form.html として保存します。

```html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>フォーム例</title>
</head>
<body>
    <form action="process.php" method="post">
        <label for="name">名前:</label>
        <input type="text" id="name" name="name">
        <input type="submit" value="送信">
    </form>
</body>
</html>
```

### PHPでデータを処理
以下のPHPコードを process.php として保存します。

``` php
<?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $name = htmlspecialchars($_POST['name']);
        echo "こんにちは、" . $name . "さん！";
    }
?>
```
フォームに名前を入力して送信すると、「こんにちは、[入力した名前]さん！」と表示されます。

# まとめ
PHPの基本文法と初めてのプログラムの書き方を解説しました。PHPは動的なウェブサイトやアプリケーションを構築するための強力なツールです。この記事で紹介した基本的な文法や構文を理解し、さらに高度な機能を学ぶことで、より複雑なプログラムを作成できるようになります。次のステップとして、PHPのフレームワークであるLaravelなどを学び、実際のプロジェクトに取り組んでみましょう！

# 参考
- [PHP 公式ドキュメント](https://www.php.net/manual/ja/)
- [PHP: Hypertext Preprocessor 公式サイト](https://www.php.net/)