在php中可以透過unset函數消除變量,其語法如“unset(mixed $var , mixed $...=?):void”,其中參數var表示要銷毀的變數。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
unset
#(PHP 4, PHP 5, PHP 7, PHP 8)
unset — 釋放給定的變數
說明
unset ( mixed $var , mixed $... = ? ) : void
unset( ) 銷毀指定的變數。
unset() 在函數中的行為會依賴想要銷毀的變數的型別而有所不同。
如果在函數中 unset() 一個全域變量,則只是局部變數被銷毀,而在呼叫環境中的變數將保持在呼叫 unset() 之前的值。
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
以上例程會輸出:
bar
如果您想在函數中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"; ?>
以上例程會輸出:
something something
如果在函數中 unset() 一個靜態變量,那麼在函數內部此靜態變數將會被銷毀。但是,當再次呼叫此函數時,此靜態變數將被復原為上次被銷毀之前的值。
<?php function foo() { static $bar; $bar++; echo "Before unset: $bar, "; unset($bar); $bar = 23; echo "after unset: $bar\n"; } foo(); foo(); foo(); ?>
以上例程會輸出:
Before unset: 1, after unset: 23 Before unset: 2, after unset: 23 Before unset: 3, after unset: 23
參數
var
要銷毀的變數。
...
其他變數…
傳回值
沒有傳回值。
範例
<?php // 销毁单个变量 unset ($foo); // 销毁单个数组元素 unset ($bar['quux']); // 销毁一个以上的变量 unset($foo1, $foo2, $foo3); ?>
推薦學習:《PHP影片教學》
以上是php怎麼消除變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!