0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

備忘録~リファレンスについて~

Posted at

##リファレンスとは(PHP)

###例1と例2を比較して理解しよう!
#####(例1)

$a = 'qiita';
$b = $a;
$a[0] ='z';
echo $a . PHP_EOL;
echo$B . PHP_EOL;

上のコードを実行すると、

zhp
php

を返す。

#####(例2)

$a = 'qiita';
$b = &$a;
$a[0] ='z';
echo $a . PHP_EOL;
echo$B . PHP_EOL;

上のコードを実行すると、

zhp
zhp

を返す。

###解説
変数(箱)の中に値(中身)が入っている。

・例1のような通常の代入は$aの変数の値を$bの変数に代入している。
訳すと、$aという名前の箱の中身を$bという名前の箱の中にコピーして入れている。
なので、$aの値と$bの値は別々で存在しており、三行目で変更しているのは$aの中の値だけである。

・例2はリファレンスを代入している。
リファレンスとは同じ変数を異なった名前で呼び出すこと。「あだ名」である。
つまり例2は一つの値が入っている変数の名前が二つある状態。
訳すと、$aというあだ名をもった中身(qiita)が入っている箱に$bというあだ名をつけている。
なので、$aの値と$bの値は同じものであり、三行目は$aと$bの共通の値を変更していることになる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?