首頁 >後端開發 >PHP問題 >php中unset是什麼

php中unset是什麼

(*-*)浩
(*-*)浩原創
2019-09-06 09:21:193449瀏覽

php中unset是什麼

unset() #銷毀指定的變數。

unset() 在函數中的行為會依賴想要銷毀的變數的型別而有所不同。 (建議學習:PHP影片教學

如果在函數中 unset() 一個全域變量,則只是局部變數被銷毀,而在呼叫環境中的變數將保持呼叫 unset() 之前一樣的值。

<?php
function destroy_foo() {
    global $foo;
    unset($foo);
}

$foo = &#39;bar&#39;;
destroy_foo();
echo $foo;
?>

如果您想在函數中 unset() 一個全域變量,可使用 $GLOBALS 數組實現:

<?php
function foo() 
{
    unset($GLOBALS[&#39;bar&#39;]);
}

$bar = "something";
foo();
?>

如果在函數中 unset() 一個透過引用傳遞的變量,則只是局部變量被銷毀,而在調用環境中的變量將保持調用 unset() 之前一樣的值。

<?php
function foo(&$bar) {
    unset($bar);
    $bar = "blah";
}

$bar = &#39;something&#39;;
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

如果在函數中 unset() 一個靜態變量,那麼在函數內部此靜態變數將會被銷毀。但是,當再次呼叫此函數時,此靜態變數將被復原為上次被銷毀之前的值。

<?php
function foo()
{
    static $bar;
    $bar++;
    echo "Before unset: $bar, ";
    unset($bar);
    $bar = 23;
    echo "after unset: $bar\n";
}

foo();
foo();
foo();
?>

以上是php中unset是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn