変数の値渡しとは、ある変数に代入した値を、他の変数へ代入すること。2つの変数は、別々の変数となる。
変数Aの値を変数Bに代入するには、変数Aを変数Bへ代入する。その後、変数Aを再定義しても、変数Bは再定義されない。変数Bを再定義しても、変数Aは再定義されない。
どちらか一方の変数を再定義すると、もう一方の変数を再定義するようにするには、変数の参照(参照渡し)を使う。
オブジェクト変数の値渡しについては、オブジェクト変数の値渡しのページへ。
値渡しで代入
$varA = "サンプル"; // 文字列「サンプル」を代入
$varB = $varA; // $varAを値渡しで代入
$varB = $varA; // $varAを値渡しで代入
変数$varA
に、文字列「サンプル」を代入。変数$varB
に、変数$varA
を値渡しで代入。
サンプル
<?php
$varA = "レッド";
$varB = $varA; // 変数から変数へ、値渡しで代入
$varC = &$varA; // 変数から変数へ、参照渡しで代入
$varA = "ブルー";
echo '$varA: ' . $varA . '<br />';
echo '$varB: ' . $varB . '<br />';
echo '$varC: ' . $varC . '<br />';
?>
$varA = "レッド";
$varB = $varA; // 変数から変数へ、値渡しで代入
$varC = &$varA; // 変数から変数へ、参照渡しで代入
$varA = "ブルー";
echo '$varA: ' . $varA . '<br />';
echo '$varB: ' . $varB . '<br />';
echo '$varC: ' . $varC . '<br />';
?>
↓↓↓出力結果↓↓↓
$varA: ブルー
$varB: レッド
$varC: ブルー
$varB: レッド
$varC: ブルー