php序列化函數(shù)serialize() 和 unserialize() 與原生函數(shù)對比
php中有格式化字符串并轉(zhuǎn)換成數(shù)組或?qū)ο蟮暮梅椒?,即序列化處理?br /> 有兩種序列化變量的方法。
以下示例,使用 serialize() 和 unserialize() 函數(shù):
// a complex array
$myvar = array(
'hello',
42,
array(1,'two'),
'apple'
);
// convert to a string
$string = serialize($myvar);
echo $string;
/* prints
a: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);
/* prints
Array
(
[0] => hello
[1] => 42
[2] => Array
(
[0] => 1
[1] => two
)
[3] => apple
)
*/
這是原生的 PHP 序列化方法。
然而,由于 JSON 近年來大受歡迎,PHP5.2 中已經(jīng)加入了對 JSON 格式的支持。
現(xiàn)在你可以使用 json_encode() 和 json_decode() 函數(shù):
// 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);
/* prints
Array
(
[0] => hello
[1] => 42
[2] => Array
(
[0] => 1
[1] => two
)
[3] => apple
)
*/
這將更為行之有效,尤其與 JavaScript 等許多其他語言兼容。
注意:對于復(fù)雜的對象,某些信息可能會丟失。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
用windows下編譯過的eAccelerator for PHP 5.1.6實現(xiàn)php加速的使用方法
用windows下編譯過的eAccelerator for PHP 5.1.6實現(xiàn)php加速的使用方法...2007-09-09
初識通用數(shù)據(jù)庫操作類——前端easyui-datagrid,form(php)
這篇文章主要介紹了初識通用數(shù)據(jù)庫操作類——前端easyui-datagrid,form(php),實現(xiàn)代碼比較簡單,有需要的小伙伴歡迎來參考2015-07-07
php對包含html標簽的字符串進行截取的函數(shù)分享
這篇文章主要介紹了php對包含html標簽的字符串進行截取的函數(shù)分享,相比普通的字符串截取更為強大,用在一些特殊場合,需要的朋友可以參考下2014-06-06
Laravel中重寫資源路由自定義URL的實現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Laravel中重寫資源路由自定義URL的實現(xiàn)方法,需要的朋友可以參考下2017-08-08
php根據(jù)地址獲取百度地圖經(jīng)緯度的實例方法
在本篇文章里小編給大家整理了關(guān)于php根據(jù)地址獲取百度地圖經(jīng)緯度的實例方法,有需要的朋友們可以學習下。2019-09-09

