轉換方法: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視頻教程》