2012-12-13 24 views
0

有沒有什麼辦法可以取消所有$這個變量而不分配空行?

public function refresh(){ 
    unset($this); 
} 

的未設置不工作..

回答

0

你不能復位($ THS),而你在這$;否則你最終會失敗。

$this->propertyA = $this->propertyB = $this->propertyC = NULL; 
0

你爲什麼要這樣做?簡單的取消設置你的,你正在使用的類的實例,這裏的一切都消失了

$a = new SomeClass(); 
$a->someVar = "1"; 
$a->someOtherVar = "2"; 
unset($a); 

,但不要忘了創建一個新的實例,如果你想繼續$a 然而,這都將值重置在屬性定義中設置它們的默認值:

foreach (get_class_vars(get_class($this)) as $name => $def){ 
    $this->$name = $def; 
} 
-1

您可以嘗試循環遍歷每個字段並逐個取消設置它們。像這樣:

function refresh() { 
     foreach($this as $key => $value) { 
      unset($this->$key); 
     } 
    }

注意:我現在無法測試它,此代碼未經測試。

+2

一個類在訪問方面不是一個數組。 – dognose

+0

Opps ...錯誤。 – NawaMan

相關問題