zoukankan      html  css  js  c++  java
  • [PHP]引用返回与节省内存

    PHP中的引用是什么:
    1.在 PHP 中引用意味着用不同的名字访问同一个变量内容
    2.引用可以被看作是 Unix 文件系统中的硬链接。


    3.使用unset的话,只是删除他这个名字自身对内容的引用,并没有删除内容本身
    php > $a="test";$b=&$a;unset($a);var_dump($b);
    string(4) "test"
    php > $a="test";$b=&$a;unset($b);var_dump($a);
    string(4) "test"


    4.设置为null,就是把原内容修改为null,所有对该内容的引用,获取的都是null
    php > $a="test";$b=&$a;$b=null;var_dump($a);
    NULL
    php > $a="test";$b=&$a;$a=null;var_dump($b);
    NULL


    php的引用返回与节省内存:
    1.这里必须在两个地方都用 & 符号——指出返回的是一个引用,而不是通常的一个拷贝,同样也指出 $myValue 是作为引用的绑定,而不是通常的赋值
    2.返回的必须是类属性的形式

    使用引用返回所占内存是221344 ; 不使用引用返回多次调用后占884968

    <?php
    $start=memory_get_usage();
    
    class Test{
            public $test="";
            public function &myTest(){
                    $this->test='';
                    $this->test=file_get_contents("cacert.pem");
                    return $this->test;
            }   
    }
    $obj=new Test();
    $str=&$obj->myTest();
    $str2=&$obj->myTest();
    $str3=&$obj->myTest();
    $str4=&$obj->myTest();
    
    var_dump(memory_get_usage()-$start);
                      
    

      

  • 相关阅读:
    Length of Last Word
    Remove Duplicates from Sorted Array II
    Sum Root to Leaf Numbers
    Valid Parentheses
    Set Matrix Zeroes
    Symmetric Tree
    Unique Binary Search Trees
    110Balanced Binary Tree
    Match:Blue Jeans(POJ 3080)
    Match:Seek the Name, Seek the Fame(POJ 2752)
  • 原文地址:https://www.cnblogs.com/taoshihan/p/10791660.html
Copyright © 2011-2022 走看看