
PHPはサーバーサイドで動作するスクリプト言語で、主にWebアプリケーションの構築に利用されます。この記事では、PHPの基本構文から制御構文、クラスの使い方、フォーム処理、そしてデータベース操作まで、基礎を一通り解説していきます。
📌 1. PHPの基本構文
PHPのコードは <?php
で始まり、?>
で閉じます。HTMLと組み合わせて使うことが多く、次のように記述できます。
1 2 3 |
<?php echo "こんにちは、PHP!"; ?> |
🔁 2. for文とforeach文の違い
for
文:数値の繰り返し処理に適している
1 2 3 4 |
for ($i = 0; $i < 5; $i++) { echo $i . "<br>"; } |
1 2 3 4 |
$colors = ["red" => "#FF0000", "green" => "#00FF00"]; foreach ($colors as $name => $hex) { echo "$name: $hex<br>"; } |
foreach
文:配列の要素を簡潔に処理できる
🔍 foreach
は キーと値の両方 も取り出せます:
1 2 3 4 |
$fruits = ["apple", "banana", "orange"]; foreach ($fruits as $fruit) { echo $fruit . "<br>"; } |
🧱 3. クラスとオブジェクト
PHPはオブジェクト指向プログラミングにも対応しています。基本的なクラスの定義と使い方を見てみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Car { public $color; public function __construct($color) { $this->color = $color; } public function drive() { echo "This car is " . $this->color . " and it's driving!"; } } $myCar = new Car("blue"); $myCar->drive(); |
🌐 4. スーパーグローバル変数(ブラウザやリクエストの情報)
PHPには様々な スーパーグローバル変数 が用意されています。
変数名 | 説明 |
---|---|
$_GET | URLのクエリ文字列で送られたデータ |
$_POST | フォームのPOST送信で送られたデータ |
$_SERVER | サーバーや実行環境の情報(IPやUser-Agent) |
$_SESSION | セッションに保存されたデータ |
$_COOKIE | ブラウザに保存されたクッキー |
例:GETの使い方
1 2 3 |
// URL: example.com/page.php?name=Taro $name = $_GET['name'] ?? 'Guest'; echo "こんにちは、" . htmlspecialchars($name); |
POSTの使い方(HTMLフォームとセット)
1 2 3 4 |
<form method="post"> <input type="text" name="email"> <input type="submit"> </form> |
1 2 |
$email = $_POST['email'] ?? ''; echo "送信されたメールアドレス: " . htmlspecialchars($email); |
🗃️ 5. データベース(PDOによる接続と操作)
PHPでDB操作を行う際は PDO(PHP Data Objects) を使うと安全で柔軟です。
データベースに接続
1 2 3 4 5 6 |
try { $pdo = new PDO("mysql:host=localhost;dbname=testdb;charset=utf8", "username", "password"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "接続失敗: " . $e->getMessage(); } |
データを取得する(SELECT)
1 2 3 4 |
$stmt = $pdo->query("SELECT * FROM users"); foreach ($stmt as $row) { echo $row['name'] . "<br>"; } |
データを追加する(INSERT)
1 2 |
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)"); $stmt->execute(["Taro", "taro@example.com"]); |
💡 prepare()
と execute()
を使うことでSQLインジェクション対策になります。
✍️ まとめ
この記事では、以下のPHPの基礎知識をカバーしました。
- 基本構文とコメントの書き方
for
とforeach
の使い分け- クラスとオブジェクト指向
- スーパーグローバル変数でリクエスト処理
- PDOを使った安全なDB操作