经常性闭门造车,对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></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></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