中文字幕亚洲一区,69久久久久精品9999不卡片,亚洲国产日韩欧美在线看片,国产精品久久久久久久久岛国

龍巖易富通網絡科技有限公司

龍巖小程序開發,龍巖分銷系統

php函數serialize()與unserialize()

2015.09.10 | 547閱讀 | 0條評論 | php

serialize()和unserialize()在php手冊上的解釋是: serialize?— Generates a storable representation of a value serialize?— 產生一個可存儲的值的表示 unserialize?— Creates a PHP value from a stored representation unserialize?— 從已存儲的表示中創建 PHP 的值 其實serialize()就是將PHP中的變量如對象(object),數組(array)等等的值序列化為字符串后存儲起來.序列化的字符串我們可以存儲在其他地方如數據庫、Session、Cookie等,序列化的操作并不會丟失這些值的類型和結構。這樣這些變量的數據就可以在PHP頁面、甚至是不同PHP程序間傳遞了。 而unserialize()就是把序列化的字符串轉換回PHP的值。 這里再引用一段PHP手冊上的說明,看了上面的例子,應該很容易明白下面這些話的意思了 想要將已序列化的字符串變回 PHP 的值,可使用?unserialize()。serialize()?可處理除了?resource?之外的任何類型。甚至可以?serialize()?那些包含了指向其自身引用的數組。你正?serialize()?的數組/對象中的引用也將被存儲。 當序列化對象時,PHP 將試圖在序列動作之前調用該對象的成員函數?__sleep()。這樣就允許對象在被序列化之前做任何清除操作。類似的,當使用?unserialize()?恢復對象時, 將調用?__wakeup()?成員函數 unserialize()?對單一的已序列化的變量進行操作,將其轉換回 PHP 的值。返回的是轉換之后的值,可為integer、float、string、array?或?object。如果傳遞的字符串不可解序列化,則返回?FALSE。 margic_quotes_gpc和magic_quotes_runtime配置項的設置會影響傳遞到unserialize()中的數據。

如果magic_quotes_gpc項是啟用的,那么在URL、POST變量以及cookies中傳遞的數據在反序列化之前必須用stripslashes()進行處理:
[php] <pre>$shopping = array('Poppy seed bagel' => 2,'Plain Bagel' =>1,'Lox' =>4); echo '<a href="next.php?cart='.urlencode(serialize($shopping)).'">next</a>';[/php]
margic_quotes_gpc和magic_quotes_runtime配置項的設置會影響傳遞到unserialize()中的數據。
如果magic_quotes_gpc項是啟用的,那么在URL、POST變量以及cookies中傳遞的數據在反序列化之前必須用stripslashes()進行處理:
[php] <pre>$new_cart = unserialize(stripslashes($cart)); //如果magic_quotes_gpc開啟 $new_cart = unserialize($cart);[/php]

贊 (

發表評論

主站蜘蛛池模板: 贵阳市| 吕梁市| 当雄县| 芦溪县| 阳高县| 汝城县| 施甸县| 安义县| 濮阳市| 云浮市| 铁力市| 卓资县| 台东县| 禹州市| 托克托县| 奉新县| 洱源县| 凤山市| 汶川县| 哈尔滨市| 宁武县| 弥渡县| 会理县| 海城市| 邯郸县| 柘荣县| 广水市| 寿光市| 平舆县| 荔浦县| 嘉祥县| 白银市| 当阳市| 五指山市| 民丰县| 定州市| 勃利县| 怀柔区| 曲阜市| 龙州县| 修文县|