参照(リファレンス)による代入を理解する

PHP

はじめに

変数とは「値を格納するための箱」のようなものです。
「=」演算子で変数を変数に代入する場合は、基本的には値の代入となりますが、
値を代入するにあたり、値をそのまま代入する方法の他に参照(リファレンス)を代入する方法があります。

値による代入

  • 値による代入とは、メモリ上の値を別のアドレスにコピーすることを言います。
    つまり、値をコピーするような代入となります。
<?php
    $a = 1;
    $b = $a;
    $a = 99;

    echo $b; // 結果:1

参照(リファレンス)による代入

  • 参照による代入とは、メモリ上のアドレスそのものを引き渡す代入のことを言います。
    つまり、値を共有するような代入となります。
  • 参照による代入を行う場合は変数の「$」の前に「&」を付けます。
<?php
    $a = 1;
    $b = &$a;
    $a = 99;

    echo $b; // 結果:99 

まとめ

  • 変数の代入には「値による代入」の他に「参照による代入」という方法がある。
  • 値の代入はメモリの値を別のアドレスにコピーする一方、参照の代入はメモリ上のアドレスそのものを引き渡す。
タイトルとURLをコピーしました