2011-03-11 47 views

回答

7

debug_zval_dump()函數可能會幫助你回答這個問題。


例如,如果我運行下面的代碼部分:

$str = 'test'; 
debug_zval_dump($str);  // string(4) "test" refcount(2) 

my_function($str); 
debug_zval_dump($str);  // string(4) "test" refcount(2) 

function my_function($a) { 
    debug_zval_dump($a); // string(4) "test" refcount(4) 
    $plop = $a . 'glop'; 
    debug_zval_dump($a); // string(4) "test" refcount(4) 
    $a = 'boom'; 
    debug_zval_dump($a); // string(4) "boom" refcount(2) 
} 

我得到以下輸出:

string(4) "test" refcount(2) 
string(4) "test" refcount(4) 
string(4) "test" refcount(4) 
string(4) "boom" refcount(2) 
string(4) "test" refcount(2) 


所以,我會說:

  • 字符串被「refcounted」,當通過以功能(和可能,當賦值給變量)
  • 但不要忘了,PHP不上寫


副本更多的信息,這裏有一對夫婦,可能是鏈接有用:

+0

我一直都知道我的法語知識就派上用場了一段時間。 – pyon

+0

我知道這裏有一些人在這裏瞭解法語,所以我儘管*「爲什麼不把它發佈?」* ;-) –

1

它們是複製或取消引用。

相關問題