PHP引用變數

2021-09-29 02:25:04 字數 2103 閱讀 7899

在php中引用意味著用不同的名字訪問同乙個變數內容使用&符號

<?php

//定義變數$a=

range(0

,100);

var_dump

(memory_get_usage()

);//int(399112)

xdebug_debug_zval

('a');

//a:(refcount=1, is_ref=0) //recount表示變數指向的記憶體位址引用個數 is_ref表示是不是引用

//定義另乙個變數,將a變數賦值給a

//cow機制$a=

$a;var_dump

(memory_get_usage()

);//int(399112)

xdebug_debug_zval

('a');

//(refcount=2, is_ref=0)

xdebug_debug_zval

('a');

//(refcount=2, is_ref=0)

//對a變數重新賦值$a=

range(0

,100);

var_dump

(memory_get_usage()

);//int(407360)

xdebug_debug_zval

('a');

//(refcount=1, is_ref=0)

xdebug_debug_zval

('a');

//(refcount=1, is_ref=0)

<?php

//定義變數$a=

range(0

,100);

var_dump

(memory_get_usage()

);//int(399112)

xdebug_debug_zval

('a');

//a:(refcount=1, is_ref=0)

//定義另乙個變數,將a變數賦值給a

//cow機制$a=

&$a;var_dump

(memory_get_usage()

);//int(399136)

xdebug_debug_zval

('a');

//(refcount=2, is_ref=1)

xdebug_debug_zval

('a');

//(refcount=2, is_ref=1)

//對a變數重新賦值$a=

range(0

,100);

var_dump

(memory_get_usage()

);//int(399136)

xdebug_debug_zval

('a');

//(refcount=2, is_ref=1)

xdebug_debug_zval

('a');

//(refcount=2, is_ref=1)

<?php$a=

1;$a=

&$a;unset($a

);echo$a;

//1

<?php

//寫出如下程式的輸出結果$d=

['a'

,'b'

,'c'];

foreach($d

as$k

=>$v)

array(3)

array(3)

*/}/*

array(3)

*///程式執行時,每一次迴圈結束後變數 $d 的值是什麼?請解釋。

//程式執行完成後,變數 $d 的值是什麼?請解釋。

/*step1 : $k = 1,$d = ['a', 'b', 'c'],$v=a, $v=$d[1];

step2 : $k = 2,$d = ['b', 'b', 'c'],$v=b, $v=$d[2];

step2 : $k = 3,$d = ['b', 'c', 'c'],$v=c, $v=$d[3];

*/

php引用變數

php引用變數 cow copy on write php變數在賦值的時候不會新開闢乙個記憶體空間,只有在變數有改變操作的時候才會開闢新的記憶體空間 定義變數a a range 0,10000 var dump memory get usage 將變數a賦值給變數b b a var dump mem...

php 引用變數

定義 不同變數名指向同一變數內容 位址 符號 定義變數 a,記憶體開闢乙個空間儲存 a a指向該空間 a a 定義變數 b,因為cow copy on write 特性,a,b都引向 a b a 如果改變 a的值,記憶體又開闢空間儲存,a指向該空間。此時 b還是指向原來的空間 a hello 可以使...

php引用變數

php引用變數的概念和定義方式 概念 在php中引用意味著不同的名字訪問同乙個變數內容。定義方式 使用 符號 工作原理 header content type text html charset utf 8 定義乙個變數a a range 0,100 var dump memory get usag...