【独学PHP】演算子(オペレータ)

※この記事は「2020年8月17日」に更新しました。

独学できる PHP講座。

今回は、演算子(オペレータ)について。

前回は、配列について、紹介しました。

【独学PHP】配列

【独学PHP】配列

2020年8月12日

今までも演算子が色々出てきましたが、もう少し詳しく解説していきます。

演算子(オペレータ)とは

演算子(オペレータ)とは、変数やリテラルに対して、あらかじめ決められた処理を行うための記号です。

代数演算子、代入演算子、比較演算子などがあります。

ちなみに、演算子によって処理される変数やリテラルのことを被演算子(オペランド)と言ったりします。



代数演算子

代数演算子は、数値の計算を行うときに使います。

算術演算子とも呼ばれています。

演算子 意味
+ 数値の和
数値の差
* 数値の積
/ 数値の商
% 数値の剰余

試しに使ってみます。

<?php

/* 代数演算子の例 */
print '100' + '50';
print '<br />';
print '100' - '50';
print '<br />';
print '100' * '50';
print '<br />';
print '100' / '50';
print '<br />';
print '100' % '50';

?>

実行結果は以下の通りです。

代数演算子

インクリメント演算子、デクリメント演算子

インクリメント演算子(加算子)とデクリメント演算子(減算子)を紹介します。

++$x → $x = $x + 1
--$x → $x = $x - 1

つまり、この例だと $x に 1 加算(減算)した結果を $x に代入するという意味になります。

ただし、前置きと後置きがあり、演算のタイミングが異なります。

演算子 意味
++ インクリメント演算子
デクリメント演算子

試しに使ってみます。

<?php

$x = 0;
$y = ++$x;    // 前置き

print $x;    // 結果は、1
print '<br />';
print $y;    // 結果は、1
print '<br />';

$p = 1;
$q = $p--;    // 後置き

print $p;    // 結果は、0
print '<br />';
print $q;    // 結果は、1
print '<br />';

?>

実行結果は以下の通りです。

インクリメント演算子、デクリメント演算子

代入演算子

代入演算子を紹介します。

演算子 意味
= 値を代入
+= 左辺と右辺を加算した結果を左辺に代入
-= 左辺と右辺を減算した結果を左辺に代入
*= 左辺と右辺を乗算した結果を左辺に代入
/= 左辺と右辺を除算した結果を左辺に代入
%= 左辺と右辺を除算した余りを左辺に代入
**= 左辺を右辺で累乗した余りを左辺に代入

比較演算子

比較演算子を紹介します。

条件分岐のときなどによく使います。

演算子 意味
== 左辺と右辺の値が等しい(成立すれば、TRUE を返す)
=== 左辺と右辺の値も型も等しい(成立すれば、TRUE を返す)
=! 左辺と右辺の値が等しくない(成立すれば、TRUE を返す)
<> =! と同じ意味
< 左辺が右辺より小さい(成立すれば、TRUE を返す)
> 左辺が右辺より大きい(成立すれば、TRUE を返す)

論理演算子

数学で習う、論理積や論理和と同じです。

結果は、TRUE や FALSE で返します。

演算子 意味
&& 論理積(A かつ B)
and 論理積(A かつ B)
|| 論理和(A または B)
or 論理和(A または B)

文字列演算子

結合演算子 .(ピリオド)を使えば、文字列同士を結合することができます。

試しに使ってみます。

<?php

$str1 = 'Hello!';
$str2 = 'WordPress!';

print $str1 . $str2;

?>

実行結果は以下の通りです。

文字列演算子

演算子の優先順位

演算子には、優先順位というものがあります。

数学の世界でも加算より乗算を先に計算しなければいけないというルールがあります。

これと同じようなものです。

式が複雑になってくると、優先順位を理解していない場合、思わぬ結果に悩まされることになります。

しかし、全て覚えるとなるとなかなか大変なので、おすすめは丸括弧を使って、人間にも優先順位をわかりやすくしておくことです。

100 * 2 + 50 → (100 * 2) + 50

慣れている人はこのくらいなら必要性は感じないかもしれませんが、確実にミスは減ると思います。

最後に

いかがでしょうか。

今回は、演算子(オペレータ)について、解説しました。

優先順位に関しては使いながら、徐々に覚えていけば良いかと思います。

コツコツやっていきましょう。