session string 转换 dateformats|a:1:{s:7:"phpdate";s:0:"";}上面这句是session文件里面的内容。格式为:变量名|类型:长度:值;请问各位,怎么将第一行转成变量。unserialize 无用,还有什么其它的办法没? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $s = 'dateformats|a:1:{s:7:"phpdate";s:0:"";}';session_start(); //启用 session$old = $_SESSION; //保存原有的 session 变量$_SESSION = array(); //初始化session_decode($s); //解码list($new, $_SESSION) = array($_SESSION, $old); //取回print_r($new);当然,你也可以自己写个解码函数。很简单的 还是贴一个有用的函数。function formatSession($data) { if( strlen( $data) == 0) { return array(); } // match all the session keys and offsets preg_match_all('/(^|;|\})([a-zA-Z0-9_]+)\|/i', $data, $matchesarray, PREG_OFFSET_CAPTURE); $returnArray = array(); $lastOffset = null; $currentKey = ''; foreach ( $matchesarray[2] as $value ) { $offset = $value[1]; if(!is_null( $lastOffset)) { $valueText = substr($data, $lastOffset, $offset - $lastOffset ); $returnArray[$currentKey] = unserialize($valueText); } $currentKey = $value[0]; $lastOffset = $offset + strlen( $currentKey )+1; } $valueText = substr($data, $lastOffset ); $returnArray[$currentKey] = unserialize($valueText); return $returnArray; } 不知道你这个函数对于复杂的 session 串是否能应付 PHP新手,连接MSSQL成功,但查询表内容不成功,请大师们指点 有没有人有简易的php论坛源码 Sphider搜索引擎修改问题。 zend studio 5.5 怪! phpcms的模板路径 RMB找高手做个PHP的体验式网站 伪静态分页问题 如何在表单中实现删除单行记录,复选框多条删除已实现 ecshop加入qq登录功能,oauth1.0升级2.0问题 如何分类统计下面的数组 求类似于csdn编辑器 错误提示:syntax error, unexpected '(', expecting T_VARIABLE or '$
$old = $_SESSION; //保存原有的 session 变量
$_SESSION = array(); //初始化
session_decode($s); //解码
list($new, $_SESSION) = array($_SESSION, $old); //取回
print_r($new);
当然,你也可以自己写个解码函数。很简单的
{
if( strlen( $data) == 0)
{
return array();
}
// match all the session keys and offsets
preg_match_all('/(^|;|\})([a-zA-Z0-9_]+)\|/i', $data, $matchesarray, PREG_OFFSET_CAPTURE);
$returnArray = array();
$lastOffset = null;
$currentKey = '';
foreach ( $matchesarray[2] as $value )
{
$offset = $value[1];
if(!is_null( $lastOffset))
{
$valueText = substr($data, $lastOffset, $offset - $lastOffset );
$returnArray[$currentKey] = unserialize($valueText);
}
$currentKey = $value[0]; $lastOffset = $offset + strlen( $currentKey )+1;
}
$valueText = substr($data, $lastOffset );
$returnArray[$currentKey] = unserialize($valueText);
return $returnArray;
}