PHP unset函式原理及使用方法解析

2022-09-26 02:48:13 字數 1656 閱讀 1741

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...