unset() #銷毀指定的變數。
unset() 在函數中的行為會依賴想要銷毀的變數的型別而有所不同。 (建議學習:PHP影片教學)
如果在函數中 unset() 一個全域變量,則只是局部變數被銷毀,而在呼叫環境中的變數將保持呼叫 unset() 之前一樣的值。
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
如果您想在函數中 unset() 一個全域變量,可使用 $GLOBALS 數組實現:
<?php function foo() { unset($GLOBALS['bar']); } $bar = "something"; foo(); ?>
如果在函數中 unset() 一個透過引用傳遞的變量,則只是局部變量被銷毀,而在調用環境中的變量將保持調用 unset() 之前一樣的值。
<?php function foo(&$bar) { unset($bar); $bar = "blah"; } $bar = 'something'; 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中文網其他相關文章!