淺談php函數(shù)serialize()與unserialize()的使用方法
php函數(shù)serialize():
這個(gè)函數(shù)作用就是序列化數(shù)據(jù),返回一個(gè)可存儲(chǔ)的字符串,該函數(shù)有利于存儲(chǔ)或傳遞PHP的值,同時(shí)不丟失其類型和結(jié)構(gòu)。所以我們在cms數(shù)據(jù)庫里面經(jīng)??吹竭@樣的結(jié)構(gòu)。
一般,我們將復(fù)雜或者數(shù)據(jù)量多而沒有必要分開存儲(chǔ)的數(shù)據(jù)封裝成一個(gè)多維數(shù)組通過serialize()轉(zhuǎn)成字符串,然后存進(jìn)數(shù)據(jù)庫,需要的時(shí)候再拿出來轉(zhuǎn)成數(shù)組再用,而拿出了轉(zhuǎn)成數(shù)組用的就是php的unserialize(),前面多了一個(gè)un嘛。直接上例子:
$a=array("周","滿","和","個(gè)人","博客","www.fzitv.net","周滿和","個(gè)人博客");
$b=serialize($a);
print_r($b);
echo "<br/>";
$c=unserialize($b);
print_r($c);
輸出結(jié)果是:
//經(jīng)過serialize序列化之后得到的數(shù)據(jù),也是存這個(gè)進(jìn)數(shù)據(jù)庫
a:8:{i:0;s:3:"周";i:1;s:3:"滿";i:2;s:3:"和";i:3;s:6:"個(gè)人";i:4;s:6:"博客";i:5;s:20:"www.fzitv.net";i:6;s:9:"周滿和";i:7;s:12:"個(gè)人博客";}
//經(jīng)過unserialize()反序列化得到的數(shù)據(jù),和之前的$a數(shù)組結(jié)構(gòu)一樣吧
Array ( [0] => 周 [1] => 滿 [2] => 和 [3] => 個(gè)人 [4] => 博客 [5] => www.fzitv.net [6] => 周滿和 [7] => 個(gè)人博客 )
在上一個(gè)復(fù)雜一點(diǎn)的二維數(shù)組的例子:
$a1=array(
'name'=>array("周","滿",'和'),
'name_weburl'=>array("周滿和","www.fzitv.net"),
'all'=>array('周滿和個(gè)人博客'=>'www.fzitv.net')
);
$b1=serialize($a1);
print_r($b1);
echo "<br/>";
$c1=unserialize($b1);
print_r($c1);
輸出結(jié)果是:
//經(jīng)過serialize序列化之后得到的數(shù)據(jù),也是存這個(gè)進(jìn)數(shù)據(jù)庫
a:3:{s:4:"name";a:3:{i:0;s:3:"周";i:1;s:3:"滿";i:2;s:3:"和";}s:11:"name_weburl";a:2:{i:0;s:9:"周滿和";i:1;s:20:"www.fzitv.net";}s:3:"all";a:1:{s:21:"周滿和個(gè)人博客";s:20:"www.fzitv.net";}}
//經(jīng)過unserialize()反序列化得到的數(shù)據(jù),和之前的$a數(shù)組結(jié)構(gòu)一樣吧
Array ( [name] => Array ( [0] => 周 [1] => 滿 [2] => 和 ) [name_weburl] => Array ( [0] => 周滿和 [1] => www.fzitv.net ) [all] => Array ( [周滿和個(gè)人博客] => www.fzitv.net ) )
- golang、python、php、c++、c、java、Nodejs性能對比
- golang 調(diào)用 php7詳解及實(shí)例
- Golang加密解密之RSA(附帶php)
- PHP中SERIALIZE和JSON的序列化與反序列化操作區(qū)別分析
- PHP的serialize序列化數(shù)據(jù)以及JSON格式化數(shù)據(jù)分析
- php中unserialize返回false的解決方法
- 非常好用的兩個(gè)PHP函數(shù) serialize()和unserialize()
- 詳解php中serialize()和unserialize()函數(shù)
- 淺談php serialize()與unserialize()的用法
- golang實(shí)現(xiàn)php里的serialize()和unserialize()序列和反序列方法詳解
相關(guān)文章
Zend Framework處理Json數(shù)據(jù)方法詳解
這篇文章主要介紹了Zend Framework處理Json數(shù)據(jù)方法,結(jié)合實(shí)例形式分析了zend framework針對json相關(guān)操作類的使用方法,需要的朋友可以參考下2016-12-12
Drupal讀取Excel并導(dǎo)入數(shù)據(jù)庫實(shí)例
這篇文章主要介紹了Drupal利用PHPExcel讀取Excel并導(dǎo)入數(shù)據(jù)庫的例子,需要的朋友可以參考下2014-03-03
PHP 中提示undefined index如何解決(多種方法)
這篇文章主要介紹了PHP 中提示undefined index如何解決(多種方法)的相關(guān)資料,需要的朋友可以參考下2016-03-03
ThinkPHP在新浪SAE平臺(tái)的部署實(shí)例
這篇文章主要介紹了ThinkPHP在新浪SAE平臺(tái)的部署的實(shí)現(xiàn)方法,以實(shí)例的形式詳細(xì)講述了WBlog的完整部署過程,需要的朋友可以參考下2014-10-10

