PHP引用的详细分析

关于PHP的引用(它是变量或函数、对象等前面的符号),让我们看看下面的程序。
复制代码代码如下所示:
< PHP
$ = 100
$


一个变量递增1。

返回的变量B,也增加了1,说明了同一存储单元的使用。
>

程序运行结果:
复制代码代码如下所示:
一百
一百
一百零一
一百零一

许多人错误地认为在PHP中的引用作为指针在C不是一样其实很不同。C语言中数组除在转移过程中没有显式声明的指针,则需要使用*的定义,并指出PHP地址(类似指针)功能不用户自己来实现的,是Zend核心实现,PHP参考使用原则写时拷贝。除非有一个写操作,指向相同的地址变量和对象将不会被复制。

PHP默认传递值转移:
复制代码代码如下所示:
< PHP
$ = 20;
美元=美元;
$ = $ A + 10;
echo $ a.'and美元B;
>

程序运行结果:
复制代码代码如下所示:
30和20

如果要将其更改为地址转移,则需要添加:
复制代码代码如下所示:
< PHP
$ = 20;
美元=美元;
$ = $ A + 10;
echo $ a.'and美元B;
>

程序运行结果:
复制代码代码如下所示:
30和30

也就是说,$的地址被传递给$ B,这样两个变量现在共享一个内存的内存区域,也就是说,它们的值是相同的。

同样的语法也可以在函数中使用,函数返回一个引用,并在新操作符中使用:
复制代码代码如下所示:
< PHP
酒吧=新fooclass(美元);
美元($条)find_var foo =;
>

其次,参考的是通过引用传递的变量。这是通过在函数建立一个局部变量,以及变量参照执行同一内容在呼叫范围。通俗点说,就是一个函数的参数是一个局部变量的引用。这里是下面的一个例子:
复制代码代码如下所示:
< PHP
函数foo($ val1,$ val2){
val1 = 1美元;
val2 = 1美元;
}
$ = 5;
$ = 10;
美孚($ A,B);
回声$;
回声$;
>

运行此代码是将两个参数传递给函数,一个是指向$的内容,另一个是执行该函数后的值B,发现$的内容已经改变,而B的内容没有改变。

PHP的第三种用法是引用返回。这种用法有点难以理解。参考收益用于当你想使用这个功能找到参考应绑定到变量。引用返回时,使用此语法:说的简单点,或参考函数的返回。但不同的参数传递,你必须在两个地方使用符号的功能定义和函数参考。下面是一个例子:
复制代码代码如下所示:
< PHP
功能find_var(美元的)
{
…* /代码…
返回的found_var;
}
美元($条)find_var foo =;
$ = x = 2;
>

本示例将变量$foo功能find_var回参考,所以当赋值变量$foo -> X,它是find_var分配引用,而不是一个简单的赋值。

PHP的最后一个用法是引用位置。有两个应用程序:一个是全球基准,当全球$ var声明一个变量,引用全局变量实际上是成立的,全局变量var =美元美元{var};同样的,其他的是美元的使用,和一个对象方法,美元始终是一个对象的引用调用它。