[PHP]引用返回與節省內存

PHP中的引用是什麼:
1.在 PHP 中引用意味着用不一樣的名字訪問同一個變量內容
2.引用能夠被看做是 Unix 文件系統中的硬連接。php


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"this


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);
NULLblog


php的引用返回與節省內存:
1.這裏必須在兩個地方都用 & 符號——指出返回的是一個引用,而不是一般的一個拷貝,一樣也指出 $myValue 是做爲引用的綁定,而不是一般的賦值
2.返回的必須是類屬性的形式內存

使用引用返回所佔內存是221344 ; 不使用引用返回屢次調用後佔884968get

<?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);
                  
相關文章
相關標籤/搜索