本文主要介紹了php序列化函數serialize() 和 unserialize() 與php原生序列化方法對比。希望對大家有所協助。
php中有格式化字串並轉換成數組或對象的好方法,即序列化處理。
有兩種序列化變數的方法。
以下樣本,使用 serialize() 和 unserialize() 函數:
// a complex array$myvar = array( 'hello', 42, array(1,'two'), 'apple');// convert to a string$string = serialize($myvar);echo $string;/* printsa:4:{i:0;s:5:"hello";i:1;i:42;i:2;a:2:{i:0;i:1;i:1;s:3:"two";}i:3;s:5:"apple";}*/// you can reproduce the original variable$newvar = unserialize($string);print_r($newvar);/* printsArray( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple)*/
這是原生的 PHP 序列化方法。
然而,由於 JSON 近年來大受歡迎,PHP5.2 中已經加入了對 JSON 格式的支援。
現在你可以使用 json_encode() 和 json_decode() 函數:
// a complex array$myvar = array( 'hello', 42, array(1,'two'), 'apple');// convert to a string$string = json_encode($myvar);echo $string;/* prints["hello",42,[1,"two"],"apple"]*/// you can reproduce the original variable$newvar = json_decode($string);print_r($newvar);/* printsArray( [0] => hello [1] => 42 [2] => Array ( [0] => 1 [1] => two ) [3] => apple)*/
這將更為行之有效,尤其與 JavaScript 等許多其他語言相容。
注意:對於複雜的對象,某些資訊可能會丟失。
相關推薦:
php資料的序列化執行個體介紹
PHP 序列化 serialize對象的方法教程
序列化和還原序列化的詳細介紹