久久调教,免费看黄色影片,www五月,国产精品免费一区二区区,亚洲欧美日韩综合一区,亚洲欧美日韩精品在线,2021免费日韩视频网

龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

php函數(shù)serialize()與unserialize()

2015.09.10 | 563閱讀 | 0條評(píng)論 | php

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

如果magic_quotes_gpc項(xiàng)是啟用的,那么在URL、POST變量以及cookies中傳遞的數(shù)據(jù)在反序列化之前必須用stripslashes()進(jìn)行處理:
[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配置項(xiàng)的設(shè)置會(huì)影響傳遞到unserialize()中的數(shù)據(jù)。
如果magic_quotes_gpc項(xiàng)是啟用的,那么在URL、POST變量以及cookies中傳遞的數(shù)據(jù)在反序列化之前必須用stripslashes()進(jìn)行處理:
[php] <pre>$new_cart = unserialize(stripslashes($cart)); //如果magic_quotes_gpc開啟 $new_cart = unserialize($cart);[/php]

贊 (

發(fā)表評(píng)論