• 技术文章 >后端开发 >php教程

    php的指针摘引

    2016-06-13 11:44:23原创234
    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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:amp php echo phper http
    上一篇:问几个简略的php疑问 下一篇:PHP触发式执行任务,该怎么处理

    相关文章推荐

    • 对PHP排序稳定性问题的深思!• 解析PHP闭包及Clourse类方法的作用• php将session放入memcached的设置方法_php实例• php 分页函数multi() discuz_php实例• mysql 线程有关问题,请问大侠们,顶者有分

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网