演算子とは、PHPだけではなく他のプログラミング言語でも必ず存在するものです。
何かの値に対して演算子を使用すると別の値を結果として返すものです。
足し算引き算などの基本的な四則演算や、値の比較を行う比較演算など様々な演算子があります。
この記事を読むと、プログラミングをするためには必ず使用する「演算子」にはどんなものがあるか。
どのように使用するのかを理解することができます。
算術演算子
算術演算子は、小学校や中学校で学ぶような基本的な演算をするために使用します。
+$a | 変数を数値に変換する |
-$a | 変数を負の数値に変換する |
+ | 足し算をします(加算) |
– | 引き算をします(減算) |
* | 掛け算をします(乗算) |
/ | 割り算をします(除算) |
% | 余りを計算します(余剰) |
** | 乗算をします(累乗) |
代入演算子
代入演算子は、変数に、値を代入するために使用します。
= | 変数に値を代入します |
+= | 変数に加算した値を代入します |
-= | 変数に減算した値を代入します |
*= | 変数に乗算した値を代入します |
/= | 変数に除算した値を代入します |
%= | 変数に剰余した値を代入します |
**= | 変数に累乗した値を代入します |
ビット代入演算子
ビット代入演算子は、代入演算子の一つです。ビット演算した結果を変数に代入するために使用します。
&= | 変数にAND演算をした結果を代入します |
|= | 変数にOR演算をした結果を代入します |
^= | 変数にNOT演算をした結果を代入します |
<<= | 変数に左シフトをした結果を代入します |
>>= | 変数に右シフトをした結果を代入します |
配列演算子
配列演算子は、配列に対して演算するために使用します。とPHPマニュアルには書かれていますが、
+ | 配列を結合するために使用します |
== | 配列を比較し、キー/値のペアが等しい場合はtrueの結果を返します |
=== | 配列を比較し、キー/値/並び順のペア、並び順/データ型が等しい場合はtrueの結果を返します |
!= | 配列を比較し、等しくない場合はtrueの結果を返します |
<> | 配列を比較し、等しくない場合はtrueの結果を返します |
!== | 配列を比較し、等しくない場合はtrueの結果を返します |
ビット演算子
ビット演算子は、数値のビットの評価や操作を行うために使用します。
& | AND演算をするために使用します |
^ | XOR演算をするために使用します |
| | OR演算をするために使用します |
<< | 左シフト演算をするために使用します |
>> | 右シフト演算をするために使用します |
比較演算子
比較演算子は、2つの値を比較するために使用します。
== | 型の変換をした値を比較し、等しい場合にtrueを返します |
=== | 値と型が等しい場合にtrueを返します |
!= | 型の変換をした値を比較し、等しくない場合にtrueを返します |
!== | 値と型が等しくない場合にtrueを返します |
<> | 値と型が等しくない場合にtrueを返します |
< | $aと$bより少ない場合にtrueを返します |
<= | $aと$bより少ないか等しい場合にtrueを返します |
> | $aと$bより多い場合にtrueを返します |
>= | $aと$bより多いか等しい場合にtrueを返します |
<=> | $aが$bより小さい場合は、0より小さい整数。 $aが$bと等しい場合は、0。 $aが$bより大きい場合は、0より大きい整数。 |
実行演算子
実行演算子は、特殊な演算子です。PHPの処理内でシェルスクリプトを実行し、実行した結果を変数に代入するために使用します。
この演算子は、使い方によっては、危険な処理となることもあるため、環境によっては使用できない設定がされていることがあります。
動作しない場合は、php.iniのdisable_functionsの設定を確認しましょう。
“(バッククォート) | シェルスクリプトを実行した結果を変数に代入します |
エラー制御演算子
エラー制御演算子は、PHPの式で発生したエラーを無視したい場合に使用します。
エラーが起こることが正常な場合もあります。使用する場合は、理解して使用するように気をつけましょう。思わぬバグとなることがあります。
@ | エラーを無視する場合に使用します |
加算子 / 減算子
加算子と減算子は、値をインクリメント(1を加算する)・デクリメント(1を減算する)するために使用します。
++$a | $aを加算した結果を返します |
$a++ | $aを返してから加算します |
–$a | $aを減算した結果を返します |
$a– | $aを返してから減算します |
論理演算子
論理演算子は、2つの値を比較する論理演算をするために使用します。
プログミングをする上で非常に大事な演算になります。ここで、どんなものが存在するのかを確認し、実際に使用して試して必ず身につけていきましょう。
&& | AND演算をした結果を返します |
|| | OR演算をした結果を返します |
! | NOT演算をした結果を返します |
and | AND演算をした結果を返します |
xor | XOR演算子をした結果を返します |
or | OR演算子をした結果を返します |
文字列演算子
文字列演算子は、文字列の結合をするために使用します。
. | 2つの文字列を結合した結果を返します |
.= | 2つの文字列を結合した結果を変数に代入します |
型演算子
型演算子は、オブジェクト化されたインスタンスが、指定されたクラスを元にオブジェクト化されているのかを判定するために使用します。
instanceof | インスタンス変数が、指定されたクラスを元にインスタンス化されている場合はtrueを返します |
三項演算子
三項演算子は、if文と同等の制御をさせることができます。
初期値を設定するためにのみ使用することをおすすめします。
それ以外の用途で使いたい場合は、if文の使用を検討しましょう。
?: | 最初の式がtrueとなる場合は、2番目の式を実行し、falseとなる場合は、3番目の式を実行します |
Null合体演算子
Null合体演算子は、論理演算子の一種です。
三項演算子の?:に似ていると思います。これも初期値を設定するためにのみ使用しましょう。
?? | 最初の式がnullかundefinedの場合に、2番目の式を実行します |
クローン演算子
クローン演算子は、オブジェクトのコピーを生成するために使用します。
詳しくは、別の記事に書きます。
clone new | 詳しくはこちら |
yield / yield from演算子(ジェネレーター)
yieldは特殊な演算子?演算子ではないですね。yieldはジェネレーター関数から使用されます。
詳しくは、別の記事に書きます。
yield | 詳しくはこちら |
print演算子
PHPのprint演算子は、特殊な演算子です。
標準出力に値を書き込むことができます。デバッグに使用することもあります。
標準出力に値を書き込むために使用します |
まとめ
さまざまな演算子を紹介しました。実は、PHPには他にも多くの演算子が存在します。
ここでは、よく使われる基本的な演算子をまとめました。
全てよく使われるものです。それぞれ実際に使用して、どのような動きをするのかを理解しておきましょう。
最初は、どれを使うのかが分からないと思いますが、「何をしたいのか」を理解することができるようになると、「どれを使うのか」分かるようになってくるはずです。
分からなくても、少し思い出して情報を探すことができるようになってほしいと思います。
完全に暗記する必要はないです。難しく考えず、諦めずに繰り返し手を動かして、身につけていきましょう。