如何访问cookie数组子变量


How do I access cookie array child variable

如何访问user_id:这是我的cookie的打印:

Array
(
     [PHPSESSID] => gv0hsh6uel9kiuprdoc0uqboq4
     [oauth_token] => 40533855-FNM77JeuJIPdKclYyaT2Fi9jZRu2NGAHh5FeveNk
     [oauth_token_secret] => C6GDTEu60rGa4aDbqjncm6yfUf9Xc9520AuX9GXag
     [SocialAuth] => a:2:{s:4:"type";s:8:"facebook";s:7:"user_id";s:2:"22";}
     [__utma] => 157144508.1187834205.1333154906.1333154906.1333154906.1
     [__utmb] => 157144508.35.10.1333154906
     [__utmc] => 157144508
     [__utmz] => 157144508.1333154906.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
)

我的用户ID在SocialAuth行的末尾。。。"22"。但我似乎无法访问它。

$user = $_COOKIE["SocialAuth"]["user_id"];

返回"a"。

我这样做对吗?提前谢谢。

您在$_COOKIE['SocialAuth']中有一个序列化数组。请查看串行化和非串行化的手册页面。

像这样使用unserialize来访问用户id:

$user = unserialize($_COOKIE['SocialAuth'])['user_id'];

或在PHP 5.4:之前

$arr = unserialize($_COOKIE['SocialAuth']);
$user = $arr['user_id'];