変数には数値や文字列などの値を格納することもできますが、他の変数を格納することもできます。
$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」が格納されたままです。