PHP unset

PHP unset 用來移除變數的值,清除後並不會回傳任何結果,在 4.0.1 以後的版本還增加了多个参数的支持,單純使用 unset 只要將變數交給 unset 函式處理即可,但要注意的是如果想移除的變數為 function 中的全域變數(global)則只是局部變數移除而已。

PHP unset 語法範例

void unset ( 要移除的變數 )


PHP unset 實做範例
<?php
$i=1;
echo '原本的 $i = '.$i.' ; ';
unset($i);
echo '執行 unset 之後的 $i = '.$i; // 輸出結果:原本的 $i = 1 ; 執行 unset 之後的 $i =
?>
由輸出結果可以看到 unset 已經將變數原本的值清掉,所以最後輸出的等號右邊沒有任何東西,因為 unset 執行結果並不會反回任何的訊息給你,只是單純的移除變數值而已,再來看一個 function 中移除變數,並重覆呼叫 function 的變數值結果。

function 中的 unset 結果
<?php
function TestUnset() {
 static $i;
 $i=++;
 echo '執行前 $i = '.$i.' ; ';
 unset($i);
 $i = 55;
 echo '執行後 $i = '.$i.'<br>';
}

TestUnset(); // 輸出結果:執行前 $i = 1 ; 執行後 $i = 55
TestUnset(); // 輸出結果:執行前 $i = 2 ; 執行後 $i = 55
?>
範例中 function 執行兩個部分的動作,分別是先輸出原本的 $i 值,接著用 unset 將 $i 值清掉後再輸出一次 $i 值,我們連續兩次呼叫 function 發現其執行前的 $i 會累進加 1,而執行後的結果卻都是一樣,代表第一次執行完 unset 後,變數 $i 已經遞增,但是 unset 將其值清除並重新賦予 55 的值,但當第二次呼叫 function 時,變數 $i 會恢復前一次 unset 前的值。

關於 global 全域變數的相關說明,請直接看 PHP 官方網站上的說明:PHP: unset - Manual

延伸閱讀
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012
PHP Smarty MySQL JQuery Apache W3C