PHPunset 用法詳解

2021-08-08 00:11:54 字數 1604 閱讀 4107

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"

;?>

上邊的例子將輸出:

something

something

如果在函式中 unset() 乙個靜態變數,則 unset() 將銷毀此變數及其所有的引用。//我不太能理解這句話的意思,從結果上來看靜態變數的值並沒有被銷毀

<?php

function 

foo()

foo();

foo();

foo();

?>

上邊的例子將輸出:

1

23

如果您想在函式中 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...