unset() 銷毀指定的變數。注意在 php 3 中,unset() 將返回true(實際上是整型值 1),而在 php 4 中,unset() 不再是乙個真正的函式:它現在是乙個語句。這樣就沒有了返回值,試圖獲取 unset() 的返回值將導致解析錯誤。
例子 1. unset() 示例
<?php
// 銷毀單個變數
unset (
$foo
);// 銷毀單個陣列元素
unset (
$bar
['quux'
]);// 銷毀乙個以上的變數
unset (
$foo1
, $foo2
, $foo3
);?>
unset() 在函式中的行為會依賴於想要銷毀的變數的型別而有所不同。
如果在函式中 unset() 乙個全域性變數,則只是區域性變數被銷毀,而在呼叫環境中的變數將保持呼叫 unset() 之前一樣的值。
<?php
function
destroy_foo
() $foo
= 'bar'
;destroy_foo
();echo
$foo
;?>
上邊的例子將輸出:
bar
如果在函式中 unset() 乙個通過引用傳遞的變數,則只是區域性變數被銷毀,而在呼叫環境中的變數將保持呼叫 unset() 之前一樣的值。
<?php
function
foo(&
$bar
) $bar
= 'something'
;echo
"$bar\n"
;foo
($bar
);echo
"$bar\n"
;?>
上邊的例子將輸出:
somethingsomething
如果在函式中 unset() 乙個靜態變數,則 unset() 將銷毀此變數及其所有的引用。//我不太能理解這句話的意思,從結果上來看靜態變數的值並沒有被銷毀
<?php
function
foo()
foo();
foo();
foo();
?>
上邊的例子將輸出:
123
如果您想在函式中 unset() 乙個全域性變數,可使用 $globals 陣列來實現:
<?php
function
foo()
$bar
= "something"
;foo
();?>
注:由於這是乙個語言結構而非函式,因此它無法被變數函式呼叫。
057 PHP unset 用法詳解
unset 銷毀指定的變數。注意在 php 3 中,unset 將返回 true 實際上是整型值 1 而在 php 4 中,unset 不再是乙個真正的函式 它現在是乙個語句。這樣就沒有了返回值,試圖獲取 unset 的返回值將導致解析錯誤。例子 1.unset 示例 銷毀單個變數 unset fo...
php unset對json encode的影響
先執行一段php a array 0 hello world 1 girl 2 boy var dump json encode a unset a 1 var dump json encode a 返回結果如下 string 28 hello world girl boy string 29 發現...
PHP unset銷毀變數並釋放記憶體
php的unset 函式用來清除 銷毀變數,不用的變數,我們可以用unset 將它銷毀。但是某些時候,用unset 卻無法達到銷毀變數占用的記憶體!我們先看乙個例子 s str repeat 1 255 產生由255個1組成的字串 m memory get usage 獲取當前占用記憶體 unset...