(PECL igbinary >= 1.1.1)
igbinary_unserialize — 從 igbinary_serialize() 儲存的表示法建立 PHP 值
igbinary_unserialize() 接受來自 igbinary_serialize() 的單一序列化變數,並將其轉換回 PHP 值。
不可將未受信任的使用者輸入傳遞給 igbinary_unserialize()。由於物件實例化和自動載入,反序列化可能導致程式碼被載入和執行,惡意使用者可能會利用這一點。如果需要將序列化資料傳遞給用戶端,則應使用安全的標準資料交換格式,例如 JSON(透過 json_decode() 和 json_encode())。
如果需要反序列化外部儲存的序列化資料,可以使用 hash_hmac() 進行資料驗證。確保沒有人竄改資料非常重要。
igbinary 序列化格式無法區分相同值的參考群組。所有 PHP 對給定值的引用在反序列化時都被視為同一參考群組的一部分,即使它們在序列化時屬於不同的參考群組。
str
由 igbinary_serialize() 產生的序列化字串。
如果要反序列化的值是一個 物件,在成功重建物件後,igbinary 會自動嘗試呼叫 __unserialize() 或 __wakeup() 方法(如果存在)。
注意: unserialize_callback_func 指令
當反序列化未定義的類別時,會呼叫 unserialize_callback_func 指令 中指定的回呼函式。如果未指定回呼函式,則物件將被實例化為 __PHP_Incomplete_Class。
物件可能會在其反序列化處理程式中拋出 Throwable。