PHPでプログラムを書いていると、=
や +
、==
といった記号をよく見かけますよね。
これらの記号は「演算子」と呼ばれるもので、プログラムで計算や比較をするために使います。
演算子とは
- 計算や比較をするための記号
- プログラムの基本的な部品
- 覚えれば複雑な処理も簡単に書ける
この記事では、PHPでよく使う演算子を種類別に分けて、分かりやすく説明します。
代入演算子(値を入れる)

最も基本的な演算子が「代入演算子」です。
基本の使い方
$age = 25;
$name = "田中";
大切なポイント
=
は「等しい」という意味ではない- 「右の値を左の変数に入れる」という意味
- 必ず変数が左、値が右になる
間違いやすい例
// 正しい書き方
$price = 100;
// 間違った書き方
100 = $price; // エラーになる
算術演算子(計算する)
数値の計算をするときに使う演算子です。
基本の計算
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
+ | 足し算 | 10 + 3 | 13 |
- | 引き算 | 10 - 3 | 7 |
* | 掛け算 | 10 * 3 | 30 |
/ | 割り算 | 10 / 3 | 3.333… |
% | 余り | 10 % 3 | 1 |
実際の使用例
// 商品の合計金額を計算
$apple = 150;
$orange = 200;
$total = $apple + $orange;
echo $total; // 350
// 消費税を計算
$price = 1000;
$tax = $price * 0.1;
echo $tax; // 100
// 余りを使って偶数・奇数を判定
$number = 7;
if ($number % 2 == 0) {
echo "偶数";
} else {
echo "奇数"; // これが表示される
}
文字列演算子(文字をつなげる)

文字列(テキスト)をつなぎ合わせるときに使います。
基本の使い方
$first_name = "太郎";
$last_name = "田中";
$full_name = $last_name . $first_name;
echo $full_name; // 田中太郎
便利な使い方
// あいさつ文を作る
$name = "佐藤";
$greeting = "こんにちは、" . $name . "さん!";
echo $greeting; // こんにちは、佐藤さん!
// HTMLタグを組み立てる
$title = "お知らせ";
$html = "<h1>" . $title . "</h1>";
echo $html; // <h1>お知らせ</h1>
注意点
- JavaScriptでは
+
で文字をつなげますが、PHPでは.
を使います - 間違えやすいので注意しましょう
比較演算子(比べる)
値を比較するときに使う演算子です。結果は true
(正しい)か false
(間違い)になります。
基本の比較
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
== | 値が同じ | 5 == "5" | true |
=== | 値と型が同じ | 5 === "5" | false |
!= | 値が違う | 5 != 3 | true |
!== | 値か型が違う | 5 !== "5" | true |
< | より小さい | 3 < 5 | true |
> | より大きい | 10 > 5 | true |
<= | 以下 | 5 <= 5 | true |
>= | 以上 | 7 >= 8 | false |
== と === の違い
これは初心者がよく間違えるポイントです。
$number = 5;
$text = "5";
// == は値だけを比較
if ($number == $text) {
echo "同じです"; // これが表示される
}
// === は値と型の両方を比較
if ($number === $text) {
echo "同じです";
} else {
echo "違います"; // これが表示される
}
使い分けのコツ
- 迷ったら
===
を使う - より厳密で安全な比較ができる
実際の使用例
// 年齢チェック
$age = 20;
if ($age >= 18) {
echo "大人です";
} else {
echo "未成年です";
}
// パスワードチェック
$input_password = "123456";
$correct_password = "secret";
if ($input_password === $correct_password) {
echo "ログイン成功";
} else {
echo "パスワードが違います";
}
論理演算子(条件を組み合わせる)
複数の条件を組み合わせるときに使います。
基本の論理演算子
演算子 | 意味 | 使い方 |
---|---|---|
&& | かつ(AND) | 両方が true のとき true |
|| | または(OR) | どちらか一方が true なら true |
! | 否定(NOT) | true を false に、false を true に |
実際の使用例
// ログインチェック(ユーザー名とパスワードの両方が正しい)
$username = "admin";
$password = "secret";
$correct_user = "admin";
$correct_pass = "secret";
if ($username === $correct_user && $password === $correct_pass) {
echo "ログイン成功";
} else {
echo "ログイン失敗";
}
// 営業時間チェック(9時から18時まで)
$hour = 14;
if ($hour >= 9 && $hour <= 18) {
echo "営業中";
} else {
echo "営業時間外";
}
// 休日チェック(土曜日または日曜日)
$day = "土曜日";
if ($day === "土曜日" || $day === "日曜日") {
echo "休日です";
} else {
echo "平日です";
}
複合代入演算子(計算して代入)

計算と代入を一度にやってくれる便利な演算子です。
基本の使い方
演算子 | 意味 | 例 | 同じ意味 |
---|---|---|---|
+= | 足して代入 | $a += 5 | $a = $a + 5 |
-= | 引いて代入 | $a -= 3 | $a = $a - 3 |
*= | 掛けて代入 | $a *= 2 | $a = $a * 2 |
/= | 割って代入 | $a /= 4 | $a = $a / 4 |
.= | つなげて代入 | $a .= "追加" | $a = $a . "追加" |
実際の使用例
// カートの商品数を増やす
$cart_count = 2;
$cart_count += 1; // 3になる
echo $cart_count;
// ポイントを貯める
$points = 100;
$points += 50; // 150になる
echo $points;
// メッセージを追加
$message = "こんにちは";
$message .= "、田中さん!"; // こんにちは、田中さん!
echo $message;
インクリメント・デクリメント演算子(1ずつ増減)
値を1ずつ増やしたり減らしたりする演算子です。
基本の使い方
$count = 5;
// 1増やす
$count++; // 6になる
// 1減らす
$count--; // 5に戻る
前置きと後置きの違い
$a = 5;
$b = 5;
// 前置き:先に1増やしてから値を使う
echo ++$a; // 6が表示される
// 後置き:値を使ってから1増やす
echo $b++; // 5が表示される
echo $b; // 6が表示される
よく使う場面
// 繰り返し処理でカウンター
$i = 0;
while ($i < 3) {
echo $i . "回目\n";
$i++; // カウンターを1増やす
}
// 配列の処理
$items = ["りんご", "みかん", "ばなな"];
for ($i = 0; $i < count($items); $i++) {
echo $items[$i] . "\n";
}
三項演算子(短いif文)
簡単な条件分岐を一行で書ける演算子です。
基本の書き方
条件 ? trueのときの値 : falseのときの値
実際の使用例
// 年齢による判定
$age = 20;
$status = ($age >= 18) ? "大人" : "未成年";
echo $status; // 大人
// 在庫チェック
$stock = 0;
$message = ($stock > 0) ? "在庫あり" : "在庫なし";
echo $message; // 在庫なし
// 割引の適用
$is_member = true;
$price = 1000;
$final_price = $is_member ? $price * 0.9 : $price;
echo $final_price; // 900
Null合体演算子(初期値の設定)
変数が存在しないか null
のときに、代わりの値を使う演算子です(PHP 7以降)。
基本の使い方
// フォームから送信された値を取得(なければ「ゲスト」)
$name = $_POST['name'] ?? 'ゲスト';
echo $name;
// 設定値を取得(なければデフォルト値)
$theme = $user_settings['theme'] ?? 'light';
echo $theme;
従来の書き方との比較
// 古い書き方(長い)
$name = isset($_POST['name']) ? $_POST['name'] : 'ゲスト';
// 新しい書き方(短い)
$name = $_POST['name'] ?? 'ゲスト';
よくある間違いと注意点

= と == の混同
// 間違い:代入になってしまう
if ($age = 20) { // $ageに20を代入してしまう
echo "20歳です";
}
// 正しい:比較
if ($age == 20) {
echo "20歳です";
}
文字列結合での間違い
// 間違い:数値として計算される
$result = "Hello" + "World"; // 0になる
// 正しい:文字列として結合
$result = "Hello" . "World"; // HelloWorld
型の違いによる問題
$input = "0"; // 文字列の0
// 意図しない結果になることがある
if ($input == false) {
echo "空です"; // これが表示される
}
// より安全な比較
if ($input === "") {
echo "空です";
}
まとめ
PHPの演算子は、プログラムを書く上でとても重要な基本要素です。
覚えておくべきポイント
=
は代入、==
は比較- 文字列の結合は
.
を使う - 迷ったら
===
で厳密比較 - 複合代入演算子で短く書ける
- 三項演算子で簡単な条件分岐
よく使う演算子一覧
種類 | 演算子 | 使用例 |
---|---|---|
代入 | = | $a = 10 |
算術 | + - * / % | $a + $b |
文字列 | . | $a . $b |
比較 | === == != < > | $a === $b |
論理 | && || ! | $a && $b |
複合代入 | += -= *= | $a += 5 |
増減 | ++ -- | $a++ |
三項 | ?: | $a ? $b : $c |
Null合体 | ?? | $a ?? 'default' |
最初はすべてを覚える必要はありません。基本的なものから少しずつ使っていけば、自然と身についていきますよ!
コメント