关于php变量的赋值和引用的区别

Posted 狂奔的小马扎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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

 

以上是关于关于php变量的赋值和引用的区别的主要内容,如果未能解决你的问题,请参考以下文章

php的关于字符串类型的变量的赋值问题,谢谢

php中引用和赋值的区别主要在哪里

php值传递和引用传递的区别

php如何赋值

php基础面试题

php中传值与传引用的区别?