色々な代入演算子

広告

変数には単一の値を格納するだけではなく演算結果を格納したり文字列と文字列の連結した結果を格納したりといった使い方がされます。例えば次のような使い方です。

$num = 80 * 15;

$pref = '愛知';
$address = $pref.'県';

変数に演算結果などを格納しておくことで後で再度利用することが出来ます。

また変数に格納されている値に対して何らかの演算を行った上で、再度同じ変数に格納することもよく行われる処理です。

$num = 10;
$num = $num + 8;

上記では変数「num」に10を格納した後で、変数「num」の値に8を加算した結果を再度変数「num」に格納しています。少し丁寧に書くと次のように記述した場合と同じです。

$num = 10;
$tmp = $num + 8;
$num = $tmp;

このように演算した結果を再度同じ変数に格納する処理はよく行われるため専用の演算子が用意されています。

+=, -=, *=, /=, %=

これらは数値オブジェクトで用意されている四則演算用の演算子に「=」を付けたものです。次のように使います。

変数 += 式
変数 -= 式
変数 *= 式
変数 /= 式
変数 %= 式

これらはそれぞれ次のように記述した場合と同じです。

変数 = 変数 + 式
変数 = 変数 - 式
変数 = 変数 * 式
変数 = 変数 / 式
変数 = 変数 % 式

「式」には数値や文字列などの値や他の演算式などを記述します。例えば変数「num」に格納されている数値を1だけ増加させるには次のように記述できます。

$num += 1;

また文字列の連結に関する演算子も用意されています。

.=

使い方は次の通りです。

$str = '山田';
$str .= 'さん';

これは次のように記述した場合と同じです。

$str = '山田';
$str = $str.'さん';

※演算子に関する優先順位は「演算子の優先順位」を参照して下さい。

サンプルプログラム

では簡単なプログラムで試して見ます。

sample6-1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>PHPテスト</title>
</head>
<body>

<p>PHPのテストです。</p>

<p>
<?php
$num = 40;
print '$num = '.$num.'<br />';

$num += 25;
print '$num = '.$num.'<br />';

$str = '福岡';
print '$str = '.$str.'<br />';

$str .= '支店';
print '$str = '.$str;
?>
</p>

</body>
</html>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

色々な代入演算子

PHP入門の他の記事を見てみる

( Written by Tatsuo Ikura )