serialize --------- 將數組格式化成有序的字符串
unserialize ----- 將數組還原成數組
PHP序列化數組測試實例:
$test = array("a"=>0,"b"=>0,"c"=>0);
$test2 = '';
$test2=serialize($test);
echo $test2;
echo "<hr>";
print_r(unserialize($test2));
PHP序列化數組用途:
在我個人經驗主要是處理數組傳遞,數組存庫操作。
例如我有一個數組需要傳遞給下一個頁面,如果你不想使用seesion/cookie,那麼你就可以利用該函數,傳遞,然後還原。
例如我在做網址目錄的時候,其中有個 評分,分為好評,中評,差評。那麼我的數據庫給該功能設計的字段就一個,類型是長字符型。將三個評論組合成數組:
array(
'a' => 0, //好評0個
'b' => 0, //中評0個
'c' => 0 //差評0個
)
將其用serialize函數轉換後就是:a:3:{s:1:"a";i:0;s:1:"b";i:0;s:1:"c";i:0;},然後存在數據庫。取出的時候別忘記用unserialize函數轉換成數組使用。
以上就是PHP序列化數組的正確使用方法。