• php中赋值和引用真真的理解


      php的引用(就是在变量或者函数、对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容.

    变量赋值和引用
           
    PHP 的引用允许你用两个变量来指向同一个内容 

    复制代码
     
    <?php
    $instance = 1;
    $assignment = $instance;
    $quote =& $instance;
    echo $instance;//这里输出:1
    echo $assignment;//这里输出:1
    echo $quote;//这里输出:1
    $instance=2;
    echo $instance;//这里输出:2
    echo $assignment;//这里输出:1
    echo $quote;//这里输出:2
    ?>
    复制代码

    对象的赋值和引用

    复制代码

    <?php

    $instance = new StdClass();

    $assigned = $instance;
    $reference =& $instance;

    $instance->var = 'test';

    var_dump($instance);/*object(stdClass)[1]
    public 'var' => string 'test' (length=4)
    */
    var_dump($reference);/*object(stdClass)[1]
    public 'var' => string 'test' (length=4)
    */
    var_dump($assigned);/*object(stdClass)[1]
    public 'var' => string 'test' (length=4)
    */

    $assigned->var = 'test1';

    var_dump($instance);/*object(stdClass)[1]
    public 'var' => string 'test1' (length=4)
    */
    var_dump($reference);/*object(stdClass)[1]
    public 'var' => string 'test1' (length=4)
    */
    var_dump($assigned);/*object(stdClass)[1]
    public 'var' => string 'test1' (length=4)
    */

    $instance = null;// $instance and $reference become null

    var_dump($instance); // null
    var_dump($reference);//null
    var_dump($assigned);/*object(stdClass)[1]
    public 'var' => string 'test1' (length=4)
    */
    ?>

    复制代码

          以上代码是在php5.5中运行的效果,在php5中赋值是通过引用来实现的。通俗的讲 如果有下面的代码 $a="abc"; $b=$a;  其实此时 $a与$b都是指向同一内存地址,而并不是$a与$b占用不同的内存。如果在上面的代码基础上再加上如下代码  $a="efg";  由于$a与$b所指向的内存的数据要重新写一次了,此时Zend核心会自动判断 自动为$b生产一个$a的数据拷贝,重新申请一块内存进行存储

  • 相关阅读:
    Android中Scrollview、ViewPager冲突问题汇总(已解决)
    Android 关于ZXing的使用
    startActivityForResult用法详解
    SVN的使用(服务端与客户端)
    Genymotion安装常见问题
    Android Viewpager实现图片轮播(仿优酷效果)
    Android Shape 详解
    Android apktool反编译资源文件为空解决办法(测试天猫、淘宝等apk成功)
    查看CentOS版本
    新建git仓库并与github同步
  • 原文地址:https://www.cnblogs.com/huixuexidezhu/p/7223443.html
Copyright © 2020-2023  润新知