【PHP講座】演算子

ノートパソコン

前回は変数宣言と定数について書きました。

【PHP講座】変数宣言と定数

2018.08.28

今回は演算子についてです。

数値の計算を行うときの +(プラス) や -(マイナス)も演算子です。

あと変数宣言のときに使った、例えば。

$a = 100;

の =(イコール)は数学だと等しいという意味ですが。

プログラミングの場合は代入を意味します。

この =(イコール)も演算子です。

それでは、順番に見ていきましょう。



代数演算子

四則演算などに使う演算子です。

$answer = $a + $b; // $a と $b を足す(その後、$answer に代入)
$answer = $a - $b; // $a から $b を引く(その後、$answer に代入)
$answer = $a * $b; // $a と $b を掛ける(その後、$answer に代入)
$answer = $a / $b; // $a と $b を割る(その後、$answer に代入)
$answer = $a % $b; // $a と $b を割った余り(その後、$answer に代入)

代入演算子(複合演算子)

初期化のときに使った =(イコール)などがそうです。

ちなみに $a += $b といった書き方もできます。

これは $a = $a + $b と同じ意味です。

この += を複合演算子と言います。

  • $a += $b → $a = $a + $b と同じ意味
  • $a -= $b → $a = $a – $b と同じ意味
  • $a *= $b → $a = $a * $b と同じ意味
  • $a /= $b → $a = $a / $b と同じ意味
  • $a %= $b → $a = $a % $b と同じ意味

比較演算子

条件分岐のときによく使う演算子です。

  • == → 値が等しい(成立する場合 TRUE を返す)
  • === → 値も型も等しい(成立する場合 TRUE を返す)
  • =! → 等しくない(成立する場合 TRUE を返す)
  • <> → 等しくない(成立する場合 TRUE を返す)
  • < → より小さい(成立する場合 TRUE を返す)
  • > → より大きい(成立する場合 TRUE を返す)

PHP のデータ型が厳密ではないというところから少々ややこしくなってます。

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

これは他のプログラミング言語でもあるかと思います。

前置きと後置きがあり、演算を行うタイミングが異なります。

++$a は $a = $a + 1 と同じ意味です。

// 前置きインクリメント演算子(※1)
$a = 1;
$b = ++$a;
// 後置きインクリメント演算子(※2)
$a = 1;
$b = $a++;

※1 の結果は、$a が 2、$b が 2 となります。

※2 の結果は、$a が 2、$b が 1 となります。

つまり $b に代入するタイミングが異なるわけです。

続いてデクリメント演算子の例です。

// 前置きデクリメント演算子(※3)
$a = 2;
$b = --$a;
// 後置きデクリメント演算子(※4)
$a = 2;
$b = $a--;

※3 の結果は、$a が 1、$b が 1 となります。

※4 の結果は、$a が 1、$b が 2 となります。

論理演算子

数学で習うものと同じです。

論理積や論理和というやつですね。

結果は 論理型(boolean) で返します。

例えば。

$a = TRUE;
$b = FALSE;

とすると。

$a and $b は、$a かつ $b となり、この場合は FALSE になります。

$a or $b は、$a または $b となり、この場合は TRUE になります。

!$a は、 $a の否定となり、この場合は FALSE になります。

文字列演算子

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

$blog = "パソコンとタブレットを使いこなせ";
print "あなたのブログのタイトルは" . $blog . "です。";

あなたのブログのタイトルはパソコンとタブレットを使いこなせです。

このように表示されます。

ちなみにこの結合演算子も複合演算子として使えます。

$a .= $b は $a = $a . $b と同じというわけです。

最後に

ノートパソコン

今回は演算子についてでした。

この記事では語りませんでしたが。

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

数学と同じで計算する(処理する)順番のようなものがあるのです。

しかしここの部分もやりながら覚えていけば良いかと個人的には思います。

あまり細かく覚えるのも面倒ですからね。

インクリメント演算子(デクリメント演算子)の前置きと後置きだけ理解しておきましょう。

次回は配列についてです。

【PHP講座】配列

2018.08.31

かなり最初からやっているのでなかなか進みませんが。

がんばります。