他の変数を代入

広告

変数には数値や文字列などの値を格納することもできますが、他の変数を格納することもできます。

$num1 = 320;
$num2 = $num1;

この場合、変数「num1」に格納されていた値がコピーされて変数「num2」に格納されます。よってどちらの変数にも「320」と言う数値が格納されています。

プログラミング言語によっては変数はあくまで名札であり、別の保管されている値に対する名札としての役割をする言語もあります。ただPHPにおける変数は、変数1つ1つが値を保管する場所を持っています。ある変数を他の変数に代入した時、PHPでは元の変数が持っていた値を複製して、格納先の変数に格納します。

では変数「num1」に別の値を格納してみます。

$num1 = 320;
$num2 = $num1;

$num1 = 45;

変数「num1」と変数「num2」はそれぞれ別の値を格納していましたので、変数「num1」の値をあとから変更しても変数「num2」が格納している値には影響しません。よって変数「num1」には「45」が格納されていますが、変数「num2」には「320」が格納されたままです。

サンプルプログラム

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

sample4-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
$num1 = 320;
$num2 = $num1;

print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2.'<br />';

$num1 = 18;

print '$num1 ='.$num1.'<br />';
print '$num2 ='.$num2;
?>
</p>

</body>
</html>

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

他の変数を代入

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

( Written by Tatsuo Ikura )