PHPの演算子とは?初心者向け完全ガイド

PHP

PHPでプログラムを書いていると、=+== といった記号をよく見かけますよね。

これらの記号は「演算子」と呼ばれるもので、プログラムで計算や比較をするために使います。

演算子とは

  • 計算や比較をするための記号
  • プログラムの基本的な部品
  • 覚えれば複雑な処理も簡単に書ける

この記事では、PHPでよく使う演算子を種類別に分けて、分かりやすく説明します。

スポンサーリンク

代入演算子(値を入れる)

最も基本的な演算子が「代入演算子」です。

基本の使い方

$age = 25;
$name = "田中";

大切なポイント

  • = は「等しい」という意味ではない
  • 「右の値を左の変数に入れる」という意味
  • 必ず変数が左、値が右になる

間違いやすい例

// 正しい書き方
$price = 100;

// 間違った書き方
100 = $price;  // エラーになる

算術演算子(計算する)

数値の計算をするときに使う演算子です。

基本の計算

演算子意味結果
+足し算10 + 313
-引き算10 - 37
*掛け算10 * 330
/割り算10 / 33.333…
%余り10 % 31

実際の使用例

// 商品の合計金額を計算
$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 != 3true
!==値か型が違う5 !== "5"true
<より小さい3 < 5true
>より大きい10 > 5true
<=以下5 <= 5true
>=以上7 >= 8false

== と === の違い

これは初心者がよく間違えるポイントです。

$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'

最初はすべてを覚える必要はありません。基本的なものから少しずつ使っていけば、自然と身についていきますよ!

コメント

タイトルとURLをコピーしました