2010-03-10 56 views
0

确实(变量值赋值)的语法与PHP中的(赋予地址)语法不同。存储变量值的方式不同于存储变量地址(位置)的方式

像: 如果我们想变量值存储到另一个变量,然后我们可以做到这一点是这样的:

$b=2; 
$a=$b; 
print $a; 
print $b; 
// output is 22 

但是,如果我们想变量地址存储到另一个变量,然后我们就可以像这样做:

$b=2; 
$a=&$b; // note the & operator 
$a=3; 
print $a; 
print $b; 
// output is 33 

注意,第一次$ b包含 '2',那么以后$ a = & $ b; $ B将包含“3”,现在想起来,如果我们要存储的变量值,那么我们将使用$a=$b; &如果我们想存储变量位置的地址,然后我们会用$a=&$b;

我的结论了这一点:

存储的方式是这样的:

$store_destination = $store_source; // ie: value save from right to left. 

地址的方式存储是这样的:

$store_source = $store_destination; // ie: address save from left to right. 

我是对的吗?

回答

2

在PHP中,我们不谈论地址和指针明确,而不是我们谈论一个叫references概念。

在情况2中,您使$b参考$a,因此它们都指的是相同的内容。任何一项改变都会改变另一项。

+0

嗯,我已经知道代码在做什么,但我只是想确认存储值(实际值和参考)的两种不同方式。 – 2010-03-10 07:50:12