string(284) "a:4:{s:10:"session_id";s:32:"01a046827a00cf838a1b3ce585cc82fb";s:10:"ip_address";s:13:"124.43.56.156";s:10:"user_agent";s:120:"Mozilla/5.0 (Windows; U; Windows NT 6.2; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27";s:13:"last_activity";i:1371099813;}"
这是来自CodeIgniter的解密cookie。我需要从中访问数据。最好转换为数组或易于访问的内容,如data -> session_id
。哪种方法可以从中提取数据?
答案 0 :(得分:4)
只需unserialize它。
var_dump( unserialize('a:4:{s:10:"session_id";s:32:"01a046827a00cf838a1b3ce585cc82fb";s:10:"ip_address";s:13:"124.43.56.156";s:10:"user_agent";s:120:"Mozilla/5.0 (Windows; U; Windows NT 6.2; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27";s:13:"last_activity";i:1371099813;}'));
答案 1 :(得分:4)
这是一个序列化的字符串,只需调用unserialize
$array = unserialize($string);
然后你把它作为数组返回:
Array
(
[session_id] => 01a046827a00cf838a1b3ce585cc82fb
[ip_address] => 124.43.56.156
[user_agent] => Mozilla/5.0 (Windows; U; Windows NT 6.2; en-US) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27
[last_activity] => 1371099813
)
答案 2 :(得分:1)
我认为它是一个序列化数组。使用unserialize并将其变为变量。
$arr = unserialize($str);
答案 3 :(得分:1)
使用unserialize将序列化字符串转换为数组
$arr = unserialize($string);
print_r($arr) //will display you the array values