php的指针摘引
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原来的值。
?
来源:http://www.phper.org.cn/?post=120
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
上一篇: 在IE上传JPG图片的问题_PHP教程
下一篇: PHP导入导出Excel方法_PHP教程
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论