国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php serialize與unserialize語法

2024-09-04 11:48:24
字體:
供稿:網(wǎng)友

php serialize與unserialize語法

serialize ---------   將數(shù)組格式化成有序的字符串

unserialize

(php 3>= 3.0.5, php 4 )

unserialize --  從已存儲(chǔ)的表示中創(chuàng)建 php 的值

描述

mixed unserialize ( string str [, string callback])

unserialize() 對(duì)單一的已序列化的變量進(jìn)行操作,將其轉(zhuǎn)換回 php 的值。返回的是轉(zhuǎn)換之后的值,可為 integer、float、string、array 或 object。如果傳遞的字符串不可解序列化,則返回 false。

unserialize_callback_func 指令: 如果在解序列化的時(shí)候需要實(shí)例化一個(gè)未定義類,則可以設(shè)置回調(diào)函數(shù)以供調(diào)用(以免得到的是不完整的 object “__php_incomplete_class”)。可通過 php.ini、ini_set() 或 .htaccess 定義‘unserialize_callback_func’。每次實(shí)例化一個(gè)未定義類時(shí)它都會(huì)被調(diào)用。若要禁止這個(gè)特性,只需置空此設(shè)定。還需要注意的是 unserialize_callback_func 指令是從 php 4.2.0 開始提供使用的

unserialize   ----- 將數(shù)組還原成數(shù)組

serialize

(php 3>= 3.0.5, php 4 )

serialize --  產(chǎn)生一個(gè)可存儲(chǔ)的值的表示

描述

string serialize ( mixed value)

serialize() 返回字符串,此字符串包含了表示 value 的字節(jié)流,可以存儲(chǔ)于任何地方。

這有利于存儲(chǔ)或傳遞 php 的值,同時(shí)不丟失其類型和結(jié)構(gòu)。

想要將已序列化的字符串變回 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ù).

注:在 php 3 中,對(duì)象屬性將被序列化,但是方法則會(huì)丟失,php 4 打破了此限制,可以同時(shí)存儲(chǔ)屬性和方法,請(qǐng)參見類與對(duì)象中的序列化對(duì)象部分獲取更多信息.

測試實(shí)例:

  1. $test = array("a"=>0,"b"=>0,"c"=>0); 
  2. $test2 = ''
  3. $test2=serialize($test); 
  4. echo $test2
  5. echo "<hr>"
  6. print_r(unserialize($test2)); 

用途:

在我個(gè)人經(jīng)驗(yàn)主要是處理數(shù)組傳遞,數(shù)組存庫操作。

例如我有一個(gè)數(shù)組需要傳遞給下一個(gè)頁面,如果你不想使用seesion/cookie,那么你就可以利用該函數(shù),傳遞,然后還原.

例如我在做網(wǎng)址目錄的時(shí)候,其中有個(gè) 評(píng)分,分為好評(píng),中評(píng),差評(píng),那么我的數(shù)據(jù)庫給該功能設(shè)計(jì)的字段就一個(gè),類型是長字符型,將三個(gè)評(píng)論組合成數(shù)組:

  1. array
  2.    'a' => 0, //好評(píng)0個(gè) 
  3.    'b' => 0, //中評(píng)0個(gè) 
  4.    'c' => 0 //差評(píng)0個(gè) 

將其用serialize函數(shù)轉(zhuǎn)換后就是:a:3:{s:1:"a";i:0;s:1:"b";i:0;s:1:"c";i:0;},然后存在數(shù)據(jù)庫,取出的時(shí)候別忘記用.

unserialize函數(shù)轉(zhuǎn)換成數(shù)組使用

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 本溪| 五河县| 丰宁| 巨野县| 中方县| 安溪县| 高邮市| 台南县| 金华市| 仁寿县| 湟源县| 新津县| 六盘水市| 泾川县| 武隆县| 莱州市| 闽清县| 望都县| 文化| 永新县| 宁河县| 祁东县| 巨鹿县| 安仁县| 岳普湖县| 莱西市| 红原县| 天等县| 嵩明县| 璧山县| 安平县| 大连市| 建宁县| 吉木萨尔县| 新河县| 怀宁县| 昭平县| 麻江县| 拉孜县| 玛沁县| 紫阳县|