C
语言中的指针与C语言中的指针不同,它是对变量的引用,该变量将变量的内容存储在
内存中。
PHP的引用允许您指向具有两个变量的相同内容。
$ =abc;
美元=美元;
$;
$
$ =EFG;
回声$ / /;这里的价值为一个输出EFG EFG
echo $ B; / / EFG输出在这里
函数的
地址调用
关于下面的代码,我没怎么说。
< PHP
函数测试($ A){
$ = $ A + 100;
}
$ = 1;
1
测试(b);在这里传递给函数的B是变量B内容的内存地址,您可以通过改变函数中的$值来改变b的值。
;
101
>
重要的是要注意,在这里测试(1)会犯
错误,因为我考虑它。
函数返回的引用
先看代码
< PHP
函数测试(){
静态$ = 0;声明静态变量
美元= $ + 1;
回声$;
返回$;
}
$ =(test);这个语句将输出$的值是1。
$ = 5;
$ =(test);这个语句将输出$的值是2。
$ =(test);这个语句将输出$的值是3。
$ = 5;
$ =(test);这个语句将输出$的值是6。
>
在下面的解释下:
通过这种方式,从函数中返回的$()=测试()与普通函数调用不同。
原因是:这是PHP的规则。
PHP指定对函数的引用是通过$ =测试()返回的;
引用的返回值是什么(PHP手册说:当你想使用一个函数来寻找一个应该绑定到变量的引用时,引用返回)。
上面的例子解释了这一点。
($ =测试)呼叫
功能,但功能的值赋给$,$和任何
修改不会
影响功能的$通过美元=测试()调用,其
作用是在$ $变量返回的内存地址和一个变量指向美元相同的内存地址的地方,产生这种效应的等效(a = b;)因此改变美元的价值也改变B美元的价值的实现
$ =测试();
$ = 5;
在此之后,B的值被更改为5。
这是让每个人理解函数的引用返回静态变量,并且函数的引用实际返回到对象。
参考对象
< PHP
类{
var;
}
美元=新的;
美元=美元;
在这里
输入输出
在这里输入输出
$;
在这里输出
>
上面的代码是
运行在PHP5的影响
在PHP5中,对象的
复制是通过参考。以上$ =新;$c = $;事实上,它相当于$ =新;$c = $;
在PHP5中,
默认的是调用对象的引用,但有时你可能需要
创建一个对象的副本,并希望原始对象的变化不影响副本。为此,PHP定义了一种特殊的
方法,称为__clone ..
参考作用
如果
程序比较大,参考相同的对象变量越多,希望把对象用完后手动
删除它,
引用
当你
设置一个参考,你断开的变量名和变量的内容之间的结合。这并不意味着该变量的内容被破坏。例如:
$ = 1;
美元=美元;
unset(美元);
没有设置$,$ A.
全球参考
当一个变量用全局var声明时,实际上建立了一个对全局变量的引用,也就是说,做同样的事情:
美元美元= { =VAR VAR};
这意味着,例如,设置变量没有设置为全局变量。
美元
在一个对象的方法中,$始终是调用它的对象的引用。
在一个小插曲下面再次出现
指向PHP地址(类似指针)功能不是由
用户自己来实现的,是Zend
核心实现,PHP参考使用原则写时复制,除非有一个写
操作,指向同一个地址的变量和对象不会被复制。
一个通俗的讲
1:如果有以下代码
$ =abc;
美元=美元;
事实上,$ A和B在同一时间指向相同的内存地址,而不是$ A和B占用不同的内存2:。如果我们在上述代码的基础上添加以下代码,
$ =EFG;
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的
支持。