2012-07-19 40 views
11

我將一箇舊的系統從一臺服務器(php 5.2)創建到一個更新的系統(php 5.3),很多系統使用session_unregister。我很感激現在已經在5.3中棄用了,所以我應該繼續並用unset($ _ SESSION ['myVar'])替換所有的情況,否則這會導致某些事情中斷?用unset替換session_unregister()

更妙的是,有沒有達到我要求同樣的功能,如果未設置()不正確的

+5

+1消除廢棄的函數。 'unset($ _ SESSION ['key'])'應該沒問題。 – 2012-07-19 14:24:31

回答

13

可以取消設置特定的會話瓦爾使用unset($_SESSION['yourvar']);替代,但考慮到這一部分從手動:

不要將已取消了整個$ _SESSION與未設置($ _ SESSION),因爲這將 通過$ _SESSION 超全局會話變量的登記。

(來自:http://php.net/manual/en/function.session-unset.php

+0

好的謝謝,是unset()最好的方法呢? (只是想確保我不會用更糟糕的代碼替換錯誤的代碼) – Andy 2012-07-19 14:29:26

+1

是的,它是:手冊中的提示甚至提示它,就在黃色警告部分的上方。 – Nanne 2012-07-19 14:31:49

+0

謝謝......我再次閱讀公告並發現了這一情況。評論已刪除。 對於歇斯底里的葡萄乾:我已經放置了一個鏈接到PHP項目的棄用wiki,它顯示「unset cast」已被棄用,但不是unset()函數/方法本身。 Nanne指出了我的錯誤,並且刪除了他正在回覆的以前的評論。 – 2017-08-04 15:15:17