设为首页收藏本站

数码鹭岛论坛

 找回密码
 注-册

QQ登录

只需一步,快速开始

搜索
查看: 4376|回复: 0
打印 上一主题 下一主题

php的指针引用

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-13 22:51:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHP的的指针的特性:
1,用=&来把变量的地址传给另一个变量,这样,另一个变量就指向了同一个地址
2,用$c=$p;其中$p为指针,像这样的赋值,其实是把相当于让$c引用了$p所指的变量,而不是地址
3,普通的=号是把一个变量的引用传给另一个变量,如果源变量的内容不变,那么引用它的变量的内容也不会变,即当没有修改变量内容的时候,两个变量是指向同一个地址,但当源变量修改时,引用它的变量就会把源变量的内容复制一份出来放到一个新的内存地址中,引用它的变量则是指向这个新创建的内存地址,用简单的一句话概况就是:修改时复制
4,所以,回到(2),如果$p指向的内容发生了变化,那么,也会自动复制一份$p原来的内容到一块新的内存地址中,当用echo输出$c的时候,输出的内容还是$p的内容发生改变前的内容。
5,综上所述,可以推导出(并且也经过实验证明了),如果有$a,$b=&$a,那么你修改a时,b的内容也会随之改变,如果你想再用c来引用b,并且在a改变时也能影响到c,那么必须如下这样写:
     $a="aa";
     $b=&$a;
     $c=&$b;
     如此这般,当a变化时,用echo输出b和c的结果和a的内容是一样的,当然这样是为了说明php指针的特性,并不特意想说明他在具体应用中会有什么用,只是为了更加深刻的理解php的指针。
     如果上面的三行代码最后一行变成:$c=$b;
     那么在a发生改变时,输出c的值还是a原来的值。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
您需要登录后才可以回帖 登录 | 注-册

本版积分规则

小黑屋|手机版|Archiver|数码鹭岛 ( 闽ICP备20006246号 )  

counter

GMT+8, 2025-12-3 18:28 , Processed in 0.070855 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表