変数の参照

変数の参照の仕方には、「値渡し」と「参照渡し」があります。

変数の値を、さらに別の変数に依存するように決めたい場合もあるでしょう。 そのような場合には、変数の参照を利用します。

変数の参照の仕方

変数の参照の仕方には、「値渡し」と「参照渡し」の2通りがあります。 どちらも変数の値を同じにする働きをするのですが、その後の振る舞いが異なります。 変数ですから、当然変数の中身は変わることがあります。 そのときに、参照した変数に影響が及ぶか及ばないか、の違いがあります。

値渡し

「値渡し」の場合は、変数A を変数B に代入した場合、その後変数A の値が変化しても、 変数B の値は代入したときの変数A の値のままです。例えば以下のような場合、変数B は「10」になります。

<?php
   $hensuA = 10;
   $hensuB = $hensuA; 変数A を変数B に代入
   $hensuA = 20; 変数A の値が変化するが、変数B に影響は無い
   print "$hensuA <br>";
   print "$hensuB <br>";
?>

変数B に代入するときの変数A の値が「10」なので、その後変数A の値が変わっても、変数B の値は「10」のままになります。

参照渡し

「参照渡し」の場合は、変数A を変数B に代入した場合、その後変数A の値が変化したら、変数B の値も変数A の値と連動して変化します。

参照渡しにするには、変数の前に「&」を付けてください。

例えば以下のような場合、変数B は「20」になります。

<?php
   $hensuA = 10;
   $hensuB = &$hensuA; 変数A を変数B に代入
   $hensuA = 20; 変数A の値が変化すると、変数B の値も変化
   print "$hensuA <br>";
   print "$hensuB <br>";
?>

変数B に代入するときの変数A の値は「10」ですが、その後変数A の値が「20」に変わったので、変数B の値も「20」になります。

Copyright (C) 2003-2013. PHP で WEB 作成 All rights reserved.