2010-08-19 70 views
5

我看到下面的代碼片段的用法:取消設置cookie過期參數是否是一種很好的做法?

$cookieexpiry=(time()+21600); 
    setcookie("rwphp","$cookieid",$cookieexpiry,"/",$_SERVER["HTTP_HOST"],0); 
    unset($cookieexpiry); 

Q1>我的問題是,這是否是一個很好的做法,取消設置$ cookieexpiry。

Q2>在一般情況下,何時應該取消設置變量?

謝謝

回答

1

未設定會在這種情況下做的唯一的事情就是用釋放變量$ cookieexpiry。它不會對你的cookie本身產生任何影響。

我覺得你是一個有點困惑的是,因爲你的變量的名稱,但都$ cookieexpiry是表示時間,僅此而已數量。

我見過未設置使用很少,如果你再次需要一個變量名的東西,你會取消設置,但我相信,如果他們再需要的時候大多數人會使用不同的變量名。

5

你根本不需要解除它。垃圾收集器將照顧它。只有當我認爲你需要取消設置的時候,如果你需要這個變量在你的代碼中稍後不存在的話。

也許我是在俯視一些東西。

約未設置()

一個原因來取消將是你與一些巨大的對象完成後釋放一些內存中的文檔見here。 感謝ovais.tariq

+1

垃圾收集確實發生。但假設你正在運行某種非常大的腳本來創建複雜的對象。那麼如果不再需要這些複雜對象,那麼最好不要設置包含這些複雜對象的變量。否則在某些情況下,你可能會得到內存耗盡的錯誤在PHP – 2010-08-19 19:20:18

+0

@ovais好評,雖然我不得不說,你的應用程序將是相當大的耗盡內存。 – Chris 2010-08-19 19:23:13

+0

@克里斯,是的,你是對的,但我認爲它的東西,提問者應該知道,它可能會在某些類型的數據遷移腳本的發生,。 – 2010-08-19 19:26:41

1

取消設置cookieexpiry變量,就像您所顯示的,這裏不會有太大的區別,因爲它不包含大量數據。

取消設置時,您以前保存在一個變量一些大的數據是有用的,例如像一個複雜的對象和變量沒有被進一步

相關問題