今天看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['keys'] = 'www'; $array['values']='11111'; $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中文網其他相關文章!