程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP unset全局變量運用問題詳解

PHP unset全局變量運用問題詳解

編輯:關於PHP編程

PHP中有個釋放變量的語句叫做unset(從PHP4開始unset已經不再是一個函數了,而是一個語句),前幾天用unset的時候出了點問題,於是把unset問題總結如下。如果您仔細閱讀過PHP的手冊,那麼就沒必要再看這篇文章了,這篇文章是寫給看手冊不用心的同學的。

首先要強調的一點是PHP unset全局變量在PHP中已經不再是一個函數了,既然不是函數,那麼就沒有了返回值,所以用的時候不能夠用unset的返回值來做判斷。

其次,在函數中,PHP unset全局變量只能銷毀局部變量,並不能銷毀全局變量,來看下手冊的一個例子

  1. < ?PHP  
  2. function destroy_foo() {  
  3. global $foo;  
  4. unset($foo);  
  5. }  
  6. $foo = ‘bar’;  
  7. destroy_foo();  
  8. echo $foo;  
  9. ?> 

返回的結果為

bar

為什麼會這樣呢?原因就是PHP unset全局變量在函數中只能銷毀局部變量。如果在程序中需要用到銷毀全局變量的應該如何做呢?也很簡單,用$GLOBALS數組來實現。看下面的例子:

  1. < ?PHP  
  2. function foo() {  
  3. unset($GLOBALS['bar']);  
  4. }  
  5. $bar = “something”;  
  6. foo();  
  7. var_dump($bar);  
  8. ?> 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved