首頁  >  文章  >  後端開發  >  serialize()和unserialize()函數的實例解說

serialize()和unserialize()函數的實例解說

零下一度
零下一度原創
2017-07-27 16:40:531255瀏覽

    今天看class.quickskin.PHP程式碼的時候,看的一個沒有見過的函數serialize,大神和小百都問了,也沒弄清個頭緒,結果一想本地測試一下不就得了,又豬頭了一次。 。 。 。
其實這樣的問題很簡單,自己動手就解決,很多時候還是我們太懶了。 。 。 。
用語言來解釋程式往往是很難的,尤其是像我這樣的菜菜,很多時候還是看程式碼來得更容易些。
PHP5 手冊裡是的解釋如下,咋一看有點雲裡霧裡的感覺,但是測試之後再看一遍就明白多了。
簡單說serialize($param)就是把$param的值序列化,似乎以前看過UCHOME資料庫裡某些欄位就是儲存的這樣的資料(a:1:{s:7:"apppath";s :0:"";}),而unserialize($param)就像serialize的逆向操作,將一個序列化值轉換為對應的字串,該轉換對數字變數和字串變數可行,但是對數組和對象實例分別輸出「Array」和「Catchable fatal error: Object of class Object could not be converted to string in 」錯誤訊息。

serialize()可處理處資源類型外所有的類型,也可以序列化物件

<?php 
$array = array(); 
$array[&#39;keys&#39;] = &#39;www&#39;; 
$array[&#39;values&#39;]=&#39;11111&#39;; 
$a = serialize($array); 
echo $a; 
unset($array); 
$a = unserialize($a); 
print_r($a); 
?>

輸出

a:2:{s:4:"keys" ;s:3:"www";s:6:"values";s:5:"11111";}

Array ( [keys] => www [values] => 11111 )

對類別的運算也一樣

 

#

以上是serialize()和unserialize()函數的實例解說的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn