首頁  >  文章  >  後端開發  >  mysql - PHP的一個函式庫,求詳細資料。

mysql - PHP的一個函式庫,求詳細資料。

WBOY
WBOY原創
2016-09-08 08:44:02929瀏覽

經常性閉門造車,對PHP其他的事了解甚少。
今天在研究Typeche的時候又遇到了類似:

<code>a:2:{s:7:"logoUrl";N;s:12:"sidebarBlock";a:5:{i:0;s:15:"ShowRecentPosts";i:1;s:18:"ShowRecentComments";i:2;s:12:"ShowCategory";i:3;s:11:"ShowArchive";i:4;s:9:"ShowOther";}}</code>
<code><?php exit;//a:4:{i:4;a:1:{i:0;a:3:{s:6:"tagurl";s:18:"%E4%B8%8D%E7%9D%A1";s:7:"tagname";s:6:"不睡";s:3:"tid";i:2;}}i:3;a:1:{i:0;a:3:{s:6:"tagurl";s:18:"%E6%B0%B4%E6%B0%B4";s:7:"tagname";s:6:"水水";s:3:"tid";i:1;}}i:2;a:0:{}i:1;a:0:{}}</code>

的資料庫配置,想知道這個格式的配置的相關信息,百度也不好百度,今天跟踪代碼也沒找到,求各位大大指點一下。

回覆內容:

經常性閉門造車,對PHP其他的事了解甚少。
今天在研究Typeche的時候又遇到了類似:

<code>a:2:{s:7:"logoUrl";N;s:12:"sidebarBlock";a:5:{i:0;s:15:"ShowRecentPosts";i:1;s:18:"ShowRecentComments";i:2;s:12:"ShowCategory";i:3;s:11:"ShowArchive";i:4;s:9:"ShowOther";}}</code>
<code><?php exit;//a:4:{i:4;a:1:{i:0;a:3:{s:6:"tagurl";s:18:"%E4%B8%8D%E7%9D%A1";s:7:"tagname";s:6:"不睡";s:3:"tid";i:2;}}i:3;a:1:{i:0;a:3:{s:6:"tagurl";s:18:"%E6%B0%B4%E6%B0%B4";s:7:"tagname";s:6:"水水";s:3:"tid";i:1;}}i:2;a:0:{}i:1;a:0:{}}</code>

的資料庫配置,想知道這個格式的配置的相關信息,百度也不好百度,今天跟踪代碼也沒找到,求各位大大指點一下。

php序列化的結果
透過unserialize可以將這個字串轉為php變數。

今天強行想找如下格式的儲存文件是由啥產生的:

<code>a:4:{i:4;a:1:{i:0;a:3:{s:6:"tagurl";s:18:"%E4%B8%8D%E7%9D%A1";s:7:"tagname";s:6:"不睡";s:3:"tid";i:2;}}i:3;a:1:{i:0;a:3:{s:6:"tagurl";s:18:"%E6%B0%B4%E6%B0%B4";s:7:"tagname";s:6:"水水";s:3:"tid";i:1;}}i:2;a:0:{}i:1;a:0:{}}</code>

媽的智障,先在Typecho找了3個小時,使出渾身解數還是沒發現。 。 。 。 。 。
吐血的是,聯想到Emlog這個PHP程式的快取就是這種格式的,MDZZ的我稍微一追蹤就看到了程式碼:

<code class="php">$cacheData = serialize($tag_cache);
$this->cacheWrite($cacheData, 'tags');</code>

一切水落石出了,MDZZ。 。 。 。虧我花了3小時,太他媽浪費時間了!

<code class="php">    function MDZZ()
    {
        $array=['name'=>'DXKite','type'=>'智障'];
        $str=serialize($array);
        var_dump($str);
        var_dump(unserialize($str));
    }</code>

輸出:

<code>string(54) "a:2:{s:4:"name";s:6:"DXKite";s:4:"type";s:6:"智障";}" array(2) { ["name"]=> string(6) "DXKite" ["type"]=> string(6) "智障" }</code>

php語言裡,陣列內容想要直接儲存到資料庫中,常常會用到serialize,但是呢,serialize常常會出現一些莫名其妙的錯誤,encode編碼效率不如json_encode,且產生編碼量比json_encode多。
建議使用json_encode。

做快取常用到serialize

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn