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 的變數值結果。$i=1;
echo '原本的 $i = '.$i.' ; ';
unset($i);
echo '執行 unset 之後的 $i = '.$i; // 輸出結果:原本的 $i = 1 ; 執行 unset 之後的 $i =
?>
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 前的值。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
?>
關於 global 全域變數的相關說明,請直接看 PHP 官方網站上的說明:PHP: unset - Manual。
延伸閱讀