今回は、触れるものの1つに代入演算子(assignment operator)です。
代入演算子は、変数に値を代入するときに使った「=」のことです。
代入演算子の役目は、
左辺の変数に右辺の値を代入する
ということです。この演算子は「=」以外にもあります。
表にまとめました。
代入演算子
記号 | 名前 |
---|---|
+= | 加算代入 |
-= | 減算代入 |
*= | 乗算代入 |
/= | 除算代入 |
%= | 剰余代入 |
&= | 論理積代入 |
^= | 排他的論理輪代入 |
|= | 論理和代入 |
<<= | 左シフト代入 |
>>= | 右シフト代入 |
上記の表の代入演算子は、ほかの演算と代入をまとめてできる
複合的な演算子です。たとえば「+=」なら下記の場合
$a + $c の値を$aに代入します。
$a += $c;
この演算子の注意点は「+」と「=」の間に
スペースを空けてはいけません。おそらく動きません。
$a + = $c;
文字列連結
.(ドット、ピリオド)は、文字列連結演算子(string concatenation operator)といいます。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>文字列結合演算子の使い方</title> <link rel="stylesheet" href="../style.css"> </head> <body> <?php $str1 = "東京都"; $str2 = "千代田区"; $str3 = "1-2-3"; echo $str1 . $str2 . $str3; ?> </body> </html> |
サンプルコードを実行して頂くと、三つの変数に格納された
文字列が格納されて出力されているのが確認できます。
シフト演算子
普段生活しているとまずお目に書かれない、演算子で
シフト演算しというものがあります。
「<<」「>>」といったものです。
シフト演算とは、
数値を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未満がでる場合は切り捨て)と
いうことになります。