unset—釋放給定的變數
說明unset(mixed$var[,mixed$...] ) :void
unset()銷毀指定的變數。
unset()在函式中的行為會依賴於想要銷毀的變數的型別而有所不同。
如果在函式中unset()乙個全域性變數,則只是區域性變數被銷毀,而在呼叫環境中的變數將保持呼叫unset()之前一樣的值。
php
function destroy_foo()
$foo = 'bar';
destroy_foo();
echwww.cppcns.como $foo;
?>
以上例程會輸出:
bar如果您想在函式中unset()乙個全域性變數,可使用$globals陣列來實現:
<?php function foo()
www.cppcns.com
$bar = "something";
foo();
?>
如果在函式中unset()乙個通過引用傳遞的變數,則只是區域性變數被銷毀,而在呼叫環境中的變數將保持呼叫unset()之前一樣的值。
<?php function foo(&$bar)
$bar = 'something';
echo "$barn";
foo($bar);
echo "$barn";
?>
以上例程會輸出:
something
something
如果在函式中unset()乙個靜態變數,那麼在函式內部此靜態變數將被銷毀。但是,當再次呼叫此函式時,此靜態變數將被復原為上次被銷毀之前的值。
<?php function foo()
foo();
foo();
foo();
?>
以上例程會輸出:
before unset: 1, after unset: 23程式設計客棧
before unset: 2, after unset: 23
before unset: 3, after unset: 23
引數var要銷毀的變數。
其他變數……
返回值沒有返回值。
範例example #1unset()示例
<?php
// 銷毀單個變數
unset ($foo);
// 銷毀單個陣列元素
unset ($bar['quux']);
// 銷毀乙個以上的變數
unset($foo1, $foo2, $foo3);
?>
example #2 使用(unset)型別強制轉換
(unset)型別強制轉換常常和函式unset()引起困惑。 為了完整性,(unset)是作為乙個null型別的強制轉換。它不會改變變數的型別。
<?php
$name = 'felipe';
var_dump((unset) $name);
var_dump($name);
?>
以上例程會輸出:
www.cppcns.comnull
string(6) "felipe"
注釋本文標題: php unset函式原理及使用方法解析
本文位址:
daemon函式的原理及使用詳解
在linux系統下建立守護程序的原理及步驟在文章 鏈結如下 中介紹過。其實,linux提供了daemon函式用於建立守護程序,實現原理與上文中介紹的是一樣的。include int daemon int nochdir,int noclose 1 daemon 函式主要用於希望脫離控制台,以守護程序...
daemon函式的原理及使用詳解
在linux系統下建立守護程序的原理及步驟在文章 鏈結如下 中介紹過。其實,linux提供了daemon函式用於建立守護程序,實現原理與上文中介紹的是一樣的。include int daemon int nochdir,int noclose 1 daemon 函式主要用於希望脫離控制台,以守護程序...
PHP unset 函式和檢測資料型別
unset a 銷毀單個變數 bar array a b c unset bar a 銷毀單個陣列元素 unset a1,a2,a3 銷毀多個變數 但是有個問題,如果在乙個函式裡銷毀乙個全域性變數,則只是銷毀區域性變數 function unsettest1 a1 hello php echo a1...