Извлечение конкретных данных из многомерного массива - PullRequest
0 голосов
/ 06 июня 2011

У меня небольшая проблема. Я пытаюсь извлечь данные из [user], но, похоже, я все понял правильно. Может кто-нибудь, пожалуйста, дайте мне один пример того, как извлечь, например, идентификатор пользователя, и оттуда я золотой. Это массив $_SESSION (что содержит сессия), если это поможет.

 Array ( [__default] => Array ( 
                            [session.counter] => 3
                            [session.timer.start] => 1307209662 
                            [session.timer.last] => 1307209693 
                            [session.timer.now] => 1307209701 
                            [session.client.browser] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 
                            [registry] => JRegistry Object ( 
                                                            [_defaultNameSpace] => session
                                                            [_registry] => Array ( 
                                                                                    [session] => Array ( 
                                                                                                        [data] => stdClass Object ( ) 
                                                                                                        ) 
                                                                                ) 
                                                            [_errors] => Array ( ) 
                                                            ) 
                            [user] => JUser Object ( 
                                                    [id] => 0 
                                                    [name] => 
                                                    [username] => 
                                                    [email] => 
                                                    [password] => 
                                                    [password_clear] => 
                                                    [usertype] => 
                                                    [block] => 
                                                    [sendEmail] => 0 
                                                    [gid] => 0 
                                                    [registerDate] => 
                                                    [lastvisitDate] => 
                                                    [activation] => 
                                                    [params] => 
                                                    [aid] => 0 
                                                    [guest] => 1 
                                                    [_params] => JParameter Object ( [_raw] => 
                                                                                    [_xml] => 
                                                                                    [_elements] => Array ( ) [_elementPath] => Array (                                                                                                                                                              [0] => C:\xampp\htdocs\libraries\joomla\html\parameter\element )
                                                                                                                                                            [_defaultNameSpace] => _default 
                                                                                                                                                            [_registry] => Array ( 
                                                                                                                                                                                    [_default] => Array ( 
                                                                                                                                                                                                        [data] => stdClass Object ( ) 
                                                                                                                                                                                                        ) 
                                                                                                                                                                                ) 
                                                                                                                                                            [_errors] => Array ( ) 
                                                                                    ) 
                                                    [_errorMsg] => [_errors] => Array ( ) 
                                                    ) 
                            [session.token] => 971893bd69fff85ea2a006788a28b15d 
                        ) 
    [referrerid] => AUPRS-JOHNDOE
    )

Ответы [ 2 ]

1 голос
/ 06 июня 2011
$user = $_SESSION['user'];
echo $user->id;

Кажется, это то, что вам нужно.

0 голосов
/ 06 июня 2011

Будет выведено имя пользователя: (если оно есть)

 print $_SESSION["__default"]["user"]->name;

Сначала необходимо преодолеть индекс ключа __default в массиве $ _SESSION. Аналогично это user ключ массива. Но то, что содержит запись user, является объектом, поэтому вам нужна вещь со стрелкой объекта ->, чтобы наконец получить доступ к name.

Также я бы не стал полагать, что __default - это данность. Не знаю ничего о Joomla, но структура массива $ _SESSION может быть более гибкой. Поэтому желательно найти функцию, которая вместо этого выбирает объект пользователя для вас.

...