PHP初心者が最初に覚えるべき基本文法!echo・変数・条件分岐の流れを解説
新人
「PHPを始めたいのですが、最初に何を覚えればいいですか?」
先輩
「まずは、画面に表示する echo、値を入れる 変数、条件で処理を分ける if文 です。この3つが分かると、PHPでWebページを動かす感覚がつかめます。」
新人
「文法だけ覚えるより、実際に画面が変わるコードを見たいです。」
先輩
「では、PHP初心者向けに、HTML表示、変数、条件分岐、配列、フォーム入力までを小さなコードでつなげて見ていきましょう。」
1. PHP初心者が基本文法で最初に理解したいechoとHTML出力
PHPの基本文法で最初に覚えたいのは、画面へ文字やHTMLを出力する仕組みです。PHPはサーバー側で実行され、処理結果としてHTMLをブラウザへ返します。そのため、まず echo で文字を表示できるようになることが大切です。
次のコードは、PHPファイルの中で見出しや文章を表示する最小構成です。
<?php
$title = "PHP入門";
$message = "echoを使うと、PHPからHTMLを出力できます。";
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title><?php echo $title; ?></title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<p><?php echo $message; ?></p>
</body>
</html>
PHP初心者のうちは、 の中にPHPを書く場所と、HTMLとして表示する場所の違いを意識しましょう。PHPは「HTMLを作るための処理」と考えると理解しやすくなります。
2. PHPの変数とデータ型の基本:文字列・数値・真偽値を扱う
PHPの変数は、名前の先頭に $ を付けて作ります。文字列、数値、真偽値、配列などを入れられるため、ユーザー名、点数、ログイン状態、商品価格など、Webアプリに必要な値を管理できます。
<?php
$userName = "佐藤";
$age = 22;
$price = 1980;
$isMember = true;
echo "名前:" . $userName . "<br>";
echo "年齢:" . $age . "歳<br>";
echo "税込価格:" . ($price * 1.1) . "円<br>";
if ($isMember) {
echo "会員価格を表示します。";
} else {
echo "通常価格を表示します。";
}
?>
変数名は、後から読んでも意味が分かる名前にするのがコツです。$a や $data だけで済ませるより、$userName、$totalPrice、$isMember のように目的が伝わる名前にすると、エラーも減らせます。
3. PHPの条件分岐if文で表示内容を切り替える方法
PHPの if 文は、条件によって表示する内容や実行する処理を切り替えるために使います。ログイン済みならマイページを表示する、点数が合格点以上なら合格と表示する、といったWebアプリの基本処理に欠かせません。
<?php
$score = 82;
if ($score >= 90) {
$result = "たいへんよくできました";
} elseif ($score >= 70) {
$result = "合格です";
} elseif ($score >= 50) {
$result = "あと少しです";
} else {
$result = "基礎から復習しましょう";
}
echo "点数:" . $score . "点<br>";
echo "判定:" . $result;
?>
条件式では、>=、<、=== などの比較演算子を使います。初心者は == と === の違いでつまずきやすいため、値と型を厳密に比べたい場面では === を使う習慣をつけると安全です。
4. PHPの配列とforeachで一覧表示を作る基本
Webページでは、商品一覧、記事一覧、ユーザー一覧など、複数のデータを繰り返し表示する場面が多くあります。PHPでは配列にデータを入れ、foreach で順番に取り出すと、一覧表示を簡単に作れます。
<?php
$lessons = [
["title" => "PHPの基本文法", "level" => "入門"],
["title" => "フォーム入力の受け取り", "level" => "初級"],
["title" => "MySQLとの連携", "level" => "実践"],
];
?>
<ul>
<?php foreach ($lessons as $lesson): ?>
<li>
<?php echo htmlspecialchars($lesson["title"], ENT_QUOTES, "UTF-8"); ?>
(<?php echo htmlspecialchars($lesson["level"], ENT_QUOTES, "UTF-8"); ?>)
</li>
<?php endforeach; ?>
</ul>
表示するときは、外部から来る可能性がある文字列に htmlspecialchars を使うと、HTMLとして解釈される危険を減らせます。PHPの一覧表示では、配列、foreach、エスケープ処理をセットで覚えると実務に近づきます。
5. PHPのフォーム入力を受け取る基本:POST送信と入力チェック
PHPでWebアプリを作るなら、フォーム入力の受け取りは必須です。お問い合わせフォーム、ログイン画面、検索画面などは、HTMLフォームから送られた値をPHPで受け取って処理します。
<?php
$name = "";
$error = "";
$message = "";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$name = trim($_POST["name"] ?? "");
if ($name === "") {
$error = "名前を入力してください。";
} else {
$safeName = htmlspecialchars($name, ENT_QUOTES, "UTF-8");
$message = $safeName . "さん、送信ありがとうございます。";
}
}
?>
<form method="post">
<label>名前</label>
<input type="text" name="name" value="<?php echo htmlspecialchars($name, ENT_QUOTES, "UTF-8"); ?>">
<button type="submit">送信</button>
</form>
<?php if ($error !== ""): ?>
<p style="color:red;"><?php echo $error; ?></p>
<?php endif; ?>
<?php if ($message !== ""): ?>
<p><?php echo $message; ?></p>
<?php endif; ?>
ポイントは、$_POST の値をそのまま信じないことです。空文字チェック、文字数チェック、エスケープ処理を入れるだけでも、初心者向けのフォームとしてかなり安全になります。
6. PHP初心者向けミニアプリ:点数判定プログラムを作る
ここまでの基本文法をつなげると、小さな判定アプリを作れます。フォームから点数を受け取り、入力チェックを行い、点数に応じたメッセージを表示します。echo、変数、if文、フォーム処理をまとめて練習できます。
<?php
$score = "";
$errors = [];
$result = "";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
$score = trim($_POST["score"] ?? "");
if ($score === "") {
$errors[] = "点数を入力してください。";
} elseif (!ctype_digit($score)) {
$errors[] = "点数は0以上の整数で入力してください。";
} elseif ((int)$score > 100) {
$errors[] = "点数は100点以内で入力してください。";
}
if (empty($errors)) {
$point = (int)$score;
if ($point >= 80) {
$result = "合格です。次はフォームとDB連携に進みましょう。";
} elseif ($point >= 60) {
$result = "あと少しです。条件分岐と配列を復習しましょう。";
} else {
$result = "基礎文法をもう一度ゆっくり確認しましょう。";
}
}
}
?>
<form method="post">
<label>点数</label>
<input type="text" name="score" value="<?php echo htmlspecialchars($score, ENT_QUOTES, "UTF-8"); ?>">
<button type="submit">判定する</button>
</form>
<?php foreach ($errors as $error): ?>
<p style="color:red;"><?php echo htmlspecialchars($error, ENT_QUOTES, "UTF-8"); ?></p>
<?php endforeach; ?>
<?php if ($result !== ""): ?>
<p><?php echo htmlspecialchars($result, ENT_QUOTES, "UTF-8"); ?></p>
<?php endif; ?>
このように、PHP初心者の学習では「文法を1つずつ覚える」だけでなく、「入力、判定、表示」までつなげると理解が早くなります。
7. PHP基本文法のエラーを減らすチェックポイント
PHP初心者がよく出会うエラーは、セミコロン忘れ、変数名の打ち間違い、クォートの閉じ忘れ、波括弧の対応ミスです。エラーが出たときは、画面全体を見るよりも、エラーメッセージに書かれたファイル名と行番号を確認しましょう。
<?php
// エラー確認用の基本設定。学習環境で使います。
ini_set("display_errors", "1");
error_reporting(E_ALL);
$items = ["PHP", "HTML", "CSS"];
foreach ($items as $item) {
echo htmlspecialchars($item, ENT_QUOTES, "UTF-8") . "<br>";
}
?>
本番環境では画面にエラーを出さない設定が基本ですが、学習中はエラーを確認できるほうが上達します。ローカル環境で原因を読み、修正できるようになることがPHP学習の大事な一歩です。
8. PHP学習を実務コードにつなげる練習方法
PHPの基本文法を覚えたら、次は小さな実務風の機能を作る練習がおすすめです。たとえば、検索フォーム、記事一覧、簡単な管理画面、CSV出力などです。どれも、変数、条件分岐、配列、フォーム処理の組み合わせで作れます。
最初は完璧な設計を目指す必要はありません。まずは動くコードを書き、次に入力チェック、エスケープ、関数分割を足していきましょう。PHPはWebページとして結果が見えやすいので、初心者でも「自分で作れた」という感覚を得やすい言語です。