PHPの演算子一覧と使い方!算術・比較・論理演算子の基本をマスターしよう
生徒
「PHPで計算をしたり、数字を比べたりするにはどうすればいいですか?」
先生
「それには演算子(えんざんし)という記号を使います。足し算や引き算だけでなく、値を比較する記号もたくさんあるんですよ。」
生徒
「演算子って、数学のプラスやマイナスのようなものですか?」
先生
「その通りです!プログラミングでは、計算以外にも色々な役割を持つ演算子があります。基礎から一緒に学んでいきましょう。」
1. 演算子とは?プログラミングの計算ルールを学ぼう
PHPの演算子(えんざんし)とは、値に対して何らかの操作を行うための記号のことです。最もイメージしやすいのは算数の「+(プラス)」や「-(マイナス)」でしょう。プログラミングの世界では、これらを活用して変数に入れた数値の合計を出したり、ユーザーが入力したデータが正しいかどうかを判定したりします。
パソコンを初めて触る方にとって、記号が並ぶと難しく感じるかもしれませんが、仕組みは非常にシンプルです。演算子の前後にある値のことを「被演算子(ひえんざんし)」と呼びますが、まずは「記号を使ってデータを加工する」というイメージを持っておけば問題ありません。PHPには、用途に合わせて「算術演算子」「比較演算子」「論理演算子」など、いくつかのグループに分けられた演算子が存在します。
2. 算術演算子!基本的な四則演算の書き方
まずは、数値の計算を行う算術演算子です。これは、私たちが日常的に使っている計算式とほとんど同じ役割を果たします。PHPでよく使われる算術演算子は以下の通りです。
| 演算子 | 意味 | 例 |
|---|---|---|
| + | 加算(足し算) | $a + $b |
| - | 減算(引き算) | $a - $b |
| * | 乗算(掛け算) | $a * $b |
| / | 除算(割り算) | $a / $b |
| % | 剰余(割り算の余り) | $a % $b |
注目すべきは、掛け算に「*(アスタリスク)」、割り算に「/(スラッシュ)」を使う点です。また、「%(パーセント)」は「割り切れない時の余り」を求めるために使われ、プログラミングでは「偶数か奇数かを判定する」際によく利用されます。
$apple = 150;
$orange = 100;
$total = $apple + $orange;
echo "合計金額は" . $total . "円です。";
合計金額は250円です。
3. 比較演算子!二つの値を比べる方法
比較演算子は、二つの値を比べて、その結果が正しいか(真:true)正しくないか(偽:false)を判断するために使います。主に条件分岐(if文)と一緒に使われることが非常に多い演算子です。
例えば、「テストの点数が80点以上なら合格」という判定をしたい時に、この比較演算子が活躍します。PHPで初心者がよく使う比較演算子を見てみましょう。
$a == $b:$aと$bが等しい$a != $b:$aと$bが等しくない$a > $b:$aが$bより大きい$a < $b:$aが$bより小さい$a >= $b:$aが$b以上$a <= $b:$aが$b以下
ここで重要なのは、等しいことを表す記号が「=(イコール)」ひとつではなく、「==」と二つ並べることです。プログラミングにおいて「=」ひとつは「右の値を左の変数に代入する」という意味になるため、区別が必要です。これは初心者が最も間違えやすいポイントですので、しっかり覚えておきましょう。
$score = 85;
if ($score >= 80) {
echo "合格です!おめでとうございます!";
}
合格です!おめでとうございます!
4. 論理演算子!複数の条件を組み合わせる
「もし〜かつ〜なら」や「もし〜または〜なら」といった、より複雑な条件を作りたい時に使うのが論理演算子です。複数の比較式を繋げる役割を持っています。
代表的なものは以下の二つです。
1. かつ(AND処理):&&
左右の条件がどちらも正しい場合に、全体として正しい(true)とみなされます。例えば「会員であり、かつ20歳以上である」といった条件です。
2. または(OR処理):||
左右の条件のうち、どちらか一方でも正しければ、全体として正しい(true)とみなされます。例えば「土曜日である、または日曜日である」といった条件です。
これらを使うことで、人間の思考に近い柔軟なプログラムを作成することが可能になります。記号の入力方法ですが、「&&」はキーボードの「6」のところ、「||」は「バックスラッシュ(または円マーク)」のところにあります。シフトキーを押しながら入力するので確認してみてください。
$has_ticket = true;
$is_adult = true;
if ($has_ticket && $is_adult) {
echo "入場可能です。";
}
入場可能です。
5. 代入演算子と複合代入演算子の仕組み
変数に値を詰め込む時に使う「=」を代入演算子と呼びます。先ほど少し触れましたが、数学の「等しい」という意味ではなく、右側にある結果を左側の箱(変数)に入れるという動作を指します。
また、これを発展させた複合代入演算子という便利な書き方もあります。これは「今の変数の値に、さらに数値を足して更新する」といった処理を短く書けるものです。例えば、ゲームのスコア加算などでよく使われます。
$a += 10; という書き方は、$a = $a + 10; と全く同じ意味です。「現在の自分に10を足して、自分を上書きする」というイメージですね。他にも -= や *= などがありますが、まずは += を覚えておけば、コードをスッキリと書くことができるようになります。
6. 文字列演算子!文字を繋げて文章を作る
PHP特有の面白い演算子に、文字列結合演算子があります。これは「.(ドット)」を使って、複数の文字や変数を繋ぎ合わせるものです。他のプログラミング言語では「+」を使うことも多いですが、PHPではドットを使うのがルールです。
例えば、名字が入った変数と名前が入った変数を繋げてフルネームを表示したり、文章の途中に計算結果を埋め込んだりする際に必須となります。文字と文字をガムテープでペタッと貼り付けるようなイメージで使うと分かりやすいでしょう。
$last_name = "田中";
$first_name = "太郎";
$full_name = $last_name . " " . $first_name;
echo "こんにちは、" . $full_name . "さん!";
こんにちは、田中 太郎さん!
7. インクリメントとデクリメント!値を1ずつ増減させる
プログラミングをしていると、「値を1だけ増やしたい」あるいは「1だけ減らしたい」という場面が頻繁に登場します。これを専門用語でインクリメント(増加)とデクリメント(減少)と呼びます。これを行うための専用の演算子が ++ と -- です。
$a++; と書くだけで、変数の値が1増えます。これは繰り返し処理(ループ)などで、「今何回目の処理か」を数えるカウンターとして非常によく利用されます。非常にシンプルな記号ですが、これを知っているだけでコードの記述量が減り、読みやすいプログラムになります。
8. 演算子の優先順位!計算の順番に注意しよう
最後に、演算子の優先順位について解説します。算数でも「足し算より掛け算を先に計算する」というルールがあるように、PHPの演算子にも実行される順番が決まっています。
基本的には掛け算や割り算が優先され、その後に足し算や引き算が行われます。もし、足し算を先に計算させたい場合は、算数と同じように「( )(カッコ)」を使って囲みます。プログラミングでは、複雑な式を書くことが多いため、意図しない計算結果にならないよう、不安なときは積極的にカッコを使って計算順序を明示するのが良い習慣です。
まずは今回紹介した基本的な演算子を一つずつ試してみて、どのようにデータが変化するかを体感してみることから始めてみましょう。演算子をマスターすれば、PHPでできることの幅がグッと広がります。
まとめ
ここまでPHPの基本的な演算子について詳しく解説してきました。演算子はプログラミングの基礎中の基礎であり、これらを自在に操れるようになることが、PHPマスターへの第一歩となります。算術演算子を使った数値計算から、比較演算子による条件分岐の判定、そして論理演算子を用いた複雑なロジックの構築まで、演算子の役割は多岐にわたります。
各演算子の重要ポイントをおさらい
PHPでプログラミングを行う際、特に意識しておきたいのが「代入」と「比較」の違いです。数学では等しいことを「=」で表しますが、PHPでは「==」または「===」を使います。この違いを混同すると、意図しないバグの原因となるため、初心者の方はまずここを徹底して覚えましょう。また、文字列の結合にはドット「.」を使うというPHP独自のルールも、他の言語を学んだことがある方ほど間違いやすいポイントです。
さらに、複合代入演算子(+= や -=)や、値を1ずつ増減させるインクリメント・デクリメント演算子(++ や --)を活用することで、コードをより簡潔に、そして読みやすく記述することができます。これらは繰り返し処理(for文やwhile文)において非常に強力な武器となります。
実践的なサンプルプログラムで復習
これまでに学んだ演算子をいくつか組み合わせて、簡単な割引計算と判定を行うプログラムを作成してみましょう。算術演算子、比較演算子、論理演算子、そして文字列結合演算子がどのように使われているかに注目してください。
$price = 5000; // 商品の価格
$quantity = 3; // 購入個数
$is_member = true; // 会員かどうか
// 1. 算術演算子で合計金額を計算
$total_price = $price * $quantity;
// 2. 複合代入演算子で割引(会員なら500円引き)
if ($is_member) {
$total_price -= 500;
}
// 3. 論理演算子と比較演算子で送料判定
// 合計が10000円以上、または会員なら送料無料
$shipping_fee = 0;
if ($total_price < 10000 && !$is_member) {
$shipping_fee = 500;
}
$final_amount = $total_price + $shipping_fee;
// 4. 文字列結合演算子で結果を表示
echo "合計金額は" . $total_price . "円です。";
echo "送料は" . $shipping_fee . "円なので、";
echo "最終お支払い金額は" . $final_amount . "円になります。";
実行結果は以下のようになります。
合計金額は14500円です。送料は0円なので、最終お支払い金額は14500円になります。
このように、演算子を組み合わせることで「もし会員なら割引する」「一定金額以上なら送料無料にする」といった、実際のWebサイトやECサイトで見かけるようなロジックを簡単に組み立てることができます。
演算子を使いこなすためのステップ
まずは、自分が書きたい処理に対してどの演算子が最適かを知ることが大切です。計算が必要なら算術演算子、データの比較が必要なら比較演算子、複数の条件をまとめたいなら論理演算子を選択します。最初はリファレンスを見ながらでも構いません。何度もコードを書いて実行結果を確認することで、自然と指が動くようになります。
PHPには今回紹介した以外にも、型まで厳密に比較する「全等演算子(===)」や、三項演算子、NULL合体演算子といった便利な記号が用意されています。基本をマスターした後は、それらの応用的な演算子にもぜひ挑戦してみてください。演算子の理解が深まれば深まるほど、あなたの書くコードはより高度で効率的なものへと進化していくはずです。
生徒
「先生、演算子の使い方がだいぶ分かってきました!足し算の『+』だけでなく、文字列を繋ぐ『.』や、値を比べる『==』など、用途によって使い分けるのがコツなんですね。」
先生
「その通りです!特に比較演算子の『==』と代入の『=』を使い分けるのは、プログラミングの基本中の基本ですよ。これを間違えると、プログラムが思った通りに動かなくて悩むことになりますからね。」
生徒
「はい、気をつけます!あと、さっきのサンプルで見た『$total_price -= 500;』という書き方も便利ですね。自分で計算して入れ直す手間が省けます。」
先生
「そうですね。複合代入演算子はコードを短く、そして直感的にしてくれます。論理演算子の『&&』や『||』も使って、条件分岐をマスターすれば、もう立派なPHPエンジニアへの道が開けていますよ。」
生徒
「ありがとうございます!もっと色々な演算子を組み合わせて、自分でも複雑な計算や判定プログラムを作って練習してみます!」
先生
「素晴らしい意気込みですね。もし計算の順番が不安になったら、遠慮なくカッコ『()』を使って優先順位をはっきりさせてあげてください。地道な練習が一番の近道ですよ。頑張りましょう!」