php

代入演算子、文字列連結

今回は、触れるものの1つに代入演算子(assignment operator)です。
代入演算子は、変数に値を代入するときに使った「=」のことです。
代入演算子の役目は、
左辺の変数に右辺の値を代入する
ということです。この演算子は「=」以外にもあります。
表にまとめました。

代入演算子

記号 名前
+= 加算代入
-= 減算代入
*= 乗算代入
/= 除算代入
%= 剰余代入
&= 論理積代入
^= 排他的論理輪代入
|= 論理和代入
<<= 左シフト代入
>>= 右シフト代入

上記の表の代入演算子は、ほかの演算と代入をまとめてできる
複合的な演算子です。たとえば「+=」なら下記の場合
$a + $c の値を$aに代入します。

$a += $c;

この演算子の注意点は「+」と「=」の間に
スペースを空けてはいけません。おそらく動きません。

$a + = $c;

文字列連結

.(ドット、ピリオド)は、文字列連結演算子(string concatenation operator)といいます。
サンプルコードの実行結果はこちら

サンプルコードを実行して頂くと、三つの変数に格納された
文字列が格納されて出力されているのが確認できます。

シフト演算子

普段生活しているとまずお目に書かれない、演算子で
シフト演算しというものがあります。
「<<」「>>」といったものです。

シフト演算とは、
数値を2進数で表した場合の桁を、
左または、右に指定数だけずらす
という演算のことです。
「<<」は左シフト演算子といい。 左辺を2進数で表記したときの値を、右辺で指定したケタの数だけ
左にずらして、桁数だけ右端から0を入れる
という演算をします。

例を挙げると、「12 << 2」という左シフト演算を行う場合、下記のように考えます。

12を2進数で表すと「1100」これを左シフトを2回します。
「1100」が「110000」となります。

ということは、「12 << 2」は数値が48となります。 逆に

12を2進数で表すと「1100」これを右シフトを2回します。
「1100」が「0011」となります。

ということは、「12 >> 2」は数値が3となります。

「数値 << 1」で数値を2倍 「数値 >> 1」で数値を1/2倍(演算結果が1未満がでる場合は切り捨て)と
いうことになります。

-php
-, ,