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

1.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

2.後續補充...

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章