關於php變量的賦值和引用的區別


剛開始學習php,發現有些地方和js語法不同,所以記錄下來。

這篇文章是總結php中變量賦值和引用的區別。

我們知道,js中,原始類型的賦值,是將值直接復制給變量;引用類型的賦值,是將內存地址復制給變量。至於這兩者的區別,我就不講了。

這里,我只總結哪些是直接賦值,哪些是復制的內存地址。

1、原始類型 -- 直接賦值

$name1 = 'sky'; $name2 = $name1; $name2 = 'fly'; echo $name1.' '.$name2;     //sky fly

 

2、數組array -- 直接賦值

$arr1 = array(0, 1, 2, 3); $arr2 = $arr1; $arr2[0] = 6; echo $arr1[0].' '.$arr2[0]; //0 6

 

3、class類 -- 內存地址

class Person{ public $name = 'sky'; public $age = 14; } $person1 = new Person(); $person2 = $person1; $person2->name = 'moon'; echo $person1->name.' '.$person2->name;    //moon moon

 

然后,php中規定,使用“&”符號,可以將普通賦值改成內存地址,看下面代碼

$name1 = 'sky'; $name2 = &$name1;  //&符號的使用 $name2 = 'fly'; echo $name1.' '.$name2;     //fly fly

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM