2024年php序列化和反序列化函數 php反序列化利用的偽協議精選

            網絡整理 分享 時間: 收藏本文

            2024年php序列化和反序列化函數 php反序列化利用的偽協議精選

            人的記憶力會隨著歲月的流逝而衰退,寫作可以彌補記憶的不足,將曾經的人生經歷和感悟記錄下來,也便于保存一份美好的回憶。范文怎么寫才能發揮它最大的作用呢?接下來小編就給大家介紹一下優秀的范文該怎么寫,我們一起來看一看吧。

            php序列化和反序列化函數 php反序列化利用的偽協議篇一

            導語:序列化是將變量轉換為可保存或傳輸的字符串的過程;反序列化就是在適當的時候把這個字符串再轉化成原來的變量使用。下面就由小編為大家介紹一下php多種序列化、反序列化的方法,歡迎大家閱讀!

            這兩個是序列化和反序列化php中數據的常用函數。

            $a = array('a' => 'apple' ,'b' => 'banana' , 'c' => 'coconut');

            //序列化數組

            $s = serialize($a);

            echo $s;

            //輸出結果:a:3:{s:1:"a";s:5:"apple";s:1:"b";s:6:"banana";s:1:"c";s:7:"coconut";}

            echo '

            ';

            //反序列化

            $o = unserialize($s);

            print_r($o);

            //輸出結果 array ( [a] => apple [b] => banana [c] => coconut )

            ?>

            當數組值包含如雙引號、單引號或冒號等字符時,它們被反序列化后,可能會出現問題。為了克服這個問題,一個巧妙的技巧是使用base64_encode和base64_decode。

            $obj = array();

            //序列化

            $s = base64_encode(serialize($obj));

            //反序列化

            $original = unserialize(base64_decode($s));

            但是base64編碼將增加字符串的長度。為了克服這個問題,可以和gzcompress一起使用。

            //定義一個用來序列化對象的函數

            function my_serialize( $obj )

            {

            return base64_encode(gzcompress(serialize($obj)));

            }

            //反序列化

            function my_unserialize($txt)

            {

            return unserialize(gzuncompress(base64_decode($txt)));

            }

            使用json格式序列化和反序列化是一個不錯的選擇:

            使用json_encode和json_decode格式輸出要serialize和unserialize格式快得多。

            json格式是可讀的。

            json格式比serialize返回數據結果小。

            json格式是開放的、可移植的。其他語言也可以使用它。

            $a = array('a' => 'apple' ,'b' => 'banana' , 'c' => 'coconut');

            //序列化數組

            $s = json_encode($a);

            echo $s;

            //輸出結果:{"a":"apple","b":"banana","c":"coconut"}

            echo '

            ';

            //反序列化

            $o = json_decode($s);

            在上面的.例子中,json_encode輸出長度比上個例子中serialize輸出長度顯然要短。

            var_export 函數把變量作為一個字符串輸出;eval把字符串當成php代碼來執行,反序列化得到最初變量的內容。

            $a = array('a' => 'apple' ,'b' => 'banana' , 'c' => 'coconut');

            //序列化數組

            $s = var_export($a , true);

            echo $s;

            //輸出結果: array ( 'a' => 'apple', 'b' => 'banana', 'c' => 'coconut', )

            echo '

            ';

            //反序列化

            eval('$my_var=' . $s . ';');

            print_r($my_var);

            wddx_serialize_value函數可以序列化數組變量,并以xml字符串形式輸出。

            $a = array('a' => 'apple' ,'b' => 'banana' , 'c' => 'coconut');

            //序列化數組

            $s = wddx_serialize_value($a);

            echo $s;

            //輸出結果(查看輸出字符串的源碼):

            applebananacoconut

            echo '

            ';

            //反序列化

            $o = wddx_deserialize($s);

            print_r($o);

            //輸出結果:array ( [a] => apple [b] => banana 1 => coconut )

            可以看出,xml標簽字符較多,導致這種格式的序列化還是占了很多空間。

            上述所有的函數在序列化數組變量時都能正常執行,但運用到對象就不同了。例如json_encode序列化對象就會失敗。反序列化對象時,unserialize和eval將有不同的效果。

            s("content_relate");

            【php多種序列化、反序列化的方法】相關文章:

            java對象序列化與對象反序列化

            12-08

            java序列化的方法有哪些

            12-06

            java序列化對象的技巧 資料

            12-07

            photoshop多種摳圖方法

            11-25

            php偽靜態的方法

            09-28

            高效學習php的方法

            08-22

            php獲取星期的方法

            08-16

            php變量定義方法

            09-14

            php 表單驗證方法

            09-12

            信息流廣告 周易 易經 代理招生 二手車 網絡營銷 旅游攻略 非物質文化遺產 查字典 社區團購 精雕圖 戲曲下載 抖音代運營 易學網 互聯網資訊 成語 成語故事 詩詞 工商注冊 注冊公司 抖音帶貨 云南旅游網 網絡游戲 代理記賬 短視頻運營 在線題庫 國學網 知識產權 抖音運營 雕龍客 雕塑 奇石 散文 自學教程 常用文書 河北生活網 好書推薦 游戲攻略 心理測試 石家莊人才網 考研真題 漢語知識 心理咨詢 手游安卓版下載 興趣愛好 網絡知識 十大品牌排行榜 商標交易 單機游戲下載 短視頻代運營 寶寶起名 范文網 電商設計 免費發布信息 服裝服飾 律師咨詢 搜救犬 Chat GPT中文版 經典范文 優質范文 工作總結 二手車估價 實用范文 古詩詞 衡水人才網 石家莊點痣 養花 名酒回收 石家莊代理記賬 女士發型 搜搜作文 石家莊人才網 鋼琴入門指法教程 詞典 圍棋 chatGPT 讀后感 玄機派 企業服務 法律咨詢 chatGPT國內版 chatGPT官網 勵志名言 河北代理記賬公司 文玩 語料庫 游戲推薦 男士發型 高考作文 PS修圖 兒童文學 買車咨詢 工作計劃 禮品廠 舟舟培訓 IT教程 手機游戲推薦排行榜 暖通,電地暖, 女性健康 苗木供應 ps素材庫 短視頻培訓 優秀個人博客 包裝網 創業賺錢 養生 民間借貸律師 綠色軟件 安卓手機游戲 手機軟件下載 手機游戲下載 單機游戲大全 免費軟件下載 石家莊論壇 網賺 手游下載 游戲盒子 職業培訓 資格考試 成語大全 英語培訓 藝術培訓 少兒培訓 苗木網 雕塑網 好玩的手機游戲推薦 漢語詞典 中國機械網 美文欣賞 紅樓夢 道德經 標準件 電地暖 網站轉讓 鮮花 書包網 英語培訓機構 電商運營
            主站蜘蛛池模板: 一区二区三区在线观看中文字幕 | 一区二区福利视频| 一区二区三区四区精品视频| 久久久国产精品亚洲一区| 亚洲AV无码第一区二区三区| 亚洲日韩中文字幕一区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 视频一区视频二区在线观看| 亚洲一区无码精品色| 国产精品99精品一区二区三区 | 国产一区二区三区手机在线观看| 国产vr一区二区在线观看| 国产福利一区二区精品秒拍| 波多野结衣的AV一区二区三区| 亚洲一区中文字幕在线电影网 | 亚洲人成网站18禁止一区| 亚洲AV无码一区二区三区网址| 国产亚洲一区二区三区在线观看| 伊人久久精品无码av一区| 国精品无码A区一区二区| 天堂国产一区二区三区| 国产裸体舞一区二区三区| 亚洲av无码一区二区三区网站 | 国产在线观看精品一区二区三区91 | 亚洲熟妇av一区二区三区| 亚欧在线精品免费观看一区| 一级特黄性色生活片一区二区| 精品成人乱色一区二区| 国模一区二区三区| 熟妇人妻系列av无码一区二区 | 国模精品视频一区二区三区| 欧美日韩精品一区二区在线视频 | 亚洲av区一区二区三| 日本在线电影一区二区三区| 国产亚洲综合一区二区三区| 国产免费一区二区三区在线观看| 无码av免费一区二区三区试看| 亚洲av永久无码一区二区三区 | 亚洲AV无码一区二区三区人| 无码国产精品一区二区免费16| 国产精品综合一区二区三区|