标签:-- 不同 php变量 col 区别 class mic logs div
刚开始学习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变量 col 区别 class mic logs div
原文地址:http://www.cnblogs.com/minigrasshopper/p/7737466.html