轉換方法:1、用「unserialize($str)」還原序列化資料;2、用json_encode()和json_decode()將還原後的資料轉為陣列類型,語法「json_decode(json_encode(還原數據),TRUE)」。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
我們在開發的過程中有時會遇到需要把物件或數組進行序列化存儲,反序列化輸出的情況。特別是當需要把陣列儲存到 MySQL 資料庫中時,就需要將陣列進行序列化操作。
所有 PHP 裡面的值都可以使用 serialize() 函數轉換為可以儲存的字串,也就是序列化。
而想要還原序列化數據,可以使用unserialize() 函數;該函數能夠重新把字串變回 PHP 原來的值,也就是反序列化。
php將序列化資料轉為陣列的方法
#1、使用unserialize() 函數還原序列化資料
unserialize($str)
其中,$str 為使用serialize() 函數序列化後的字串。如果傳入的字串無法被反序列化,則會傳回 FALSE,並產生一個 E_NOTICE。
2、將還原後的資料轉為數組類型
使用json_encode函數將物件轉換為json數據,再使用json_decode函數將json資料轉換為陣列。
<?php $obj=serialize((object)array("11","22","33")); var_dump($obj); $res=unserialize($obj); $arr=json_decode(json_encode($res),TRUE); var_dump($arr); ?>
推薦學習:《PHP影片教學》
以上是php怎麼將序列化資料轉為數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!