首頁 >後端開發 >php教程 >如何在 PHP 中反序列化序列化字串?

如何在 PHP 中反序列化序列化字串?

Barbara Streisand
Barbara Streisand原創
2024-12-02 20:41:12791瀏覽

How Can I Deserialize a Serialized String in PHP?

了解序列化與反序列化

您遇到了一個序列化字串,其表示如下:

a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}

要檢索儲存在該字串中的數組,您必須使用unserialize()函數:

$str = 'a:2:{i:0;s:7:"Abogado";i:1;s:7:"Notario";}';
print_r(unserialize($str));

此操作將產生以下輸出:

Array ( [0] => Abogado [1] => Notario )

手冊註解:

  • Be請謹慎,因為unserialize() 對於錯誤和FALSE 值的反序列化都會傳回FALSE。若要處理此問題,請將 str 與 serialize(false) 進行比較或捕獲發出的 E_NOTICE。
  • 將使用者提供的輸入傳遞給 unserialize() 時要保持警覺。這可能會執行惡意程式碼。考慮使用安全的資料交換格式,例如 JSON(json_decode() 和 json_encode())。

以上是如何在 PHP 中反序列化序列化字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn