上一篇文章中我們了解了設(shè)置變量類型的方法,有需要的請(qǐng)看《php如何使用函數(shù)設(shè)置變量類型》。這次我們向大家介紹序列化對(duì)象或數(shù)組的方法,有需要的可以參考參考。
這一次我們來(lái)看一下序列化,但是你們知道什么叫做序列化嗎?
序列化是將對(duì)象的狀態(tài)信息轉(zhuǎn)換為可存儲(chǔ)或傳輸?shù)男问降倪^(guò)程。在序列化期間,對(duì)象將其當(dāng)前狀態(tài)寫入臨時(shí)或持久存儲(chǔ)。稍后,您可以通過(guò)從存儲(chǔ)讀取或反序列化對(duì)象的狀態(tài)來(lái)重新創(chuàng)建對(duì)象。
我們了解序列化知識(shí)后,就讓我們趕緊來(lái)學(xué)習(xí)如何序列化對(duì)象或數(shù)組吧。
首先我們來(lái)看一個(gè)小栗子。
<?php $sites = array('Google', '360', 'Facebook'); $serialized_data = serialize($sites); echo $serialized_data . PHP_EOL; ?>
這個(gè)例子的結(jié)果是
我們干什么了?這個(gè)結(jié)果怎么變成這樣了?這一長(zhǎng)串代碼都是什么意思?命名每個(gè)單詞我都認(rèn)識(shí),為什么合起來(lái)我就不認(rèn)識(shí)了?
我們細(xì)細(xì)解讀一下,我們?cè)扔幸粋€(gè)數(shù)組,不知道經(jīng)過(guò)什么操作,我們的數(shù)組就變成一長(zhǎng)串我們不認(rèn)識(shí)的代碼了。既然我們解讀不下去了,但就來(lái)看看這個(gè)函數(shù)吧。
serialize() 函數(shù)用于序列化對(duì)象或數(shù)組,并返回一個(gè)字符串。這個(gè)函數(shù)序列化對(duì)象后,可以很方便的將它傳遞給其他需要它的地方,且其類型和結(jié)構(gòu)不會(huì)改變。
那我們?nèi)タ纯催@個(gè)函數(shù)的語(yǔ)法格式吧。
string serialize(要序列化的對(duì)象或數(shù)組)
看來(lái)我們不知道的那個(gè)過(guò)程,就是由這個(gè)函數(shù)進(jìn)行了序列化的過(guò)程,然后將對(duì)象或是數(shù)組變成一長(zhǎng)串的字符串了。
需要注意的是:如果想要將已序列化的字符串變回 PHP 的值,可使用 unserialize()
函數(shù)。
就說(shuō)到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦?!?→php視頻教程