📝 構文の基本
<?php
echo "Hello World!";
?>
PHPのファイルは.php拡張子を使用します。
コードは<?phpで始まり?>で終わります。
各文は;(セミコロン)で終えます。
HTMLファイル内にPHPコードを埋め込むことができます。
🔄 変数と型
$name = "山田";
$age = 30;
$price = 199.99;
$is_active = true;
変数は$記号で始まります。
PHPは動的型付け言語です。
変数の型を確認するにはvar_dump()関数を使います。
変数名は大文字小文字を区別します。
🔀 制御構造
if ($score >= 80) {
echo "合格";
} elseif ($score >= 60) {
echo "再試験";
} else {
echo "不合格";
}
for ($i = 0; $i < 5; $i++) {
echo $i;
}
foreach, while, do-whileループも使用できます。
🧩 関数
function greet($name) {
return "こんにちは、" . $name . "さん";
}
echo greet("田中");
引数はカンマで区切って複数渡せます。
デフォルト引数も設定可能です。
引数の型宣言はPHP 7以降で使用できます。
📊 配列
$fruits = ["りんご", "バナナ", "オレンジ"];
$user = [
"name" => "佐藤",
"email" => "sato@example.com",
"age" => 28
];
配列にアクセス: $fruits[0]
連想配列にアクセス: $user["name"]
foreach文を使って配列を簡単に処理できます。
💾 データベース
$conn = new mysqli("localhost", "user", "pass", "db");
$pdo = new PDO("mysql:host=localhost;dbname=db", "user", "pass");
$stmt = $pdo->prepare("SELECT * FROM users");
$stmt->execute();
PDOは複数のデータベースに対応
prepare文を使用してSQLインジェクションを防止
トランザクションを使用して整合性を保つことが重要です。
🔒 セッションとクッキー
session_start();
$_SESSION['user_id'] = 123;
setcookie("username", "john", time() + 3600);
session_start()は必ず最初に呼び出す
$_SESSIONはサーバー側で保存
setcookie()はHTTPヘッダー送信前に呼び出す
セッションIDの盗難に注意し、定期的に再生成しましょう。
🛠 主要な関数
strlen("テキスト");
str_replace("古", "新", "文字列");
count($array);
array_push($array, "新要素");
date("Y-m-d");
関数名は小文字またはスネークケースです。
PHPには1000以上の組み込み関数があります。
PHP公式マニュアルが非常に役立ちます。