php unset()銷毀單個或多個變量
來源:程序員人生 發布時間:2014-04-12 10:30:12 閱讀次數:3670次
unset函數是php自帶的一個銷毀變量的函數,我們介紹了利用unset來銷毀靜態變量與全局變量的方法,同時出可以銷毀數組變量哦,下面我們看實例.
例 1. unset() 示例
實例代碼如下:
- <?php
-
- unset ($foo);
-
- unset ($bar['quux']);
-
- unset ($foo1, $foo2, $foo3);
- ?>
unset() 在函數中的行為會依賴于想要銷毀的變量的類型而有所不同.
如果在函數中 unset() 一個全局變量,則只是局部變量被銷毀,而在調用環境中的變量將保持調用 unset() 之前一樣的值.
實例代碼如下:
- <?php
- function destroy_foo() {
- global $foo;
- unset($foo);
- }
- $foo = ‘bar’;
- destroy_foo();
- echo $foo;
- ?>
上邊的例子將輸出:
bar
如果在函數中 unset() 一個通過引用傳遞的變量,則只是局部變量被銷毀,而在調用環境中的變量將保持調用 unset() 之前一樣的值.
實例代碼如下:
- <?php
- function foo(&$bar) {
- unset($bar);
- $bar = “blah”;
- }
- $bar = ‘something’;
- echo “$barn”;
- foo($bar);
- echo “$barn”;
- ?>
上邊的例子將輸出:
something
something
unset() 靜態變量,嚴格講,使用 unset() 銷毀靜態變量,只是斷開了變量名和變量值之間的引用.
例子,實例代碼如下:
- <?php
- function foo() {
- static $b;
- $a++;
- $b++;
- echo "$a---$bn";
- unset($a,$b);
- var_dump($a);
- var_dump($b);
- echo "######################n";
- }
- foo();
- foo();
- foo();
- ?>
運行該例子,輸出:
1---1
NULL
NULL
#######################
1---2
NULL
NULL
#######################
1---3
NULL
NULL
#######################
unset() 全局變量,同 unset() 靜態變量一樣,如果在函數中 unset() 一個全局變量,則只是局部變量被銷毀,而在調用環境中的變量將保持調用 unset() 之前一樣的值.
試著比較如下兩個例子:
實例代碼如下:
- <?php
- function destroy_foo() {
- global $foo;
- unset($foo);
- }
- $foo = 'bar';
- destroy_foo();
- echo $foo;
- ?>
- <?php
-
- function destroy_foo() {
- global $foo;
- unset($GLOBALS['foo']);
- }
- $foo = 'bar';
- destroy_foo();
- echo $foo;
- ?>
運行第一個例子會輸出:bar ,而第二個例子則不會有任何輸出.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈