Как получить доступ к дочерней переменной массива cookie - PullRequest
0 голосов
/ 31 марта 2012

Как получить доступ к user_id: Это print_r моего 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)
)

Мой идентификатор пользователя в этом конце строки SocialAuth ... "22"Но я не могу получить к нему доступ.

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

Возвращает «а».

Я правильно делаю?Заранее спасибо.

1 Ответ

4 голосов
/ 31 марта 2012

У вас есть сериализованный массив в $_COOKIE['SocialAuth'].Посмотрите страницы справочника по serialize и unserialize .

. Используйте unserialize для доступа к идентификатору пользователя:

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

Илидо PHP 5.4:

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