Как получить пользователя из многоуровневого массива? - PullRequest
0 голосов
/ 30 января 2010

У меня есть следующий массив из БД.

Теперь я хочу получить голень в [user] => shin.

Как получить его с помощью PHP?

Число в [29] => Array может быть любым числом.

Заранее спасибо.

Array
(
    [29] => Array
        (
            [0] => stdClass Object
                (
                    [day] => 29
                    [eventContent] => school ski tada
                    [eventTitle] => school ski
                    [id] => 24
                    [user] => shin
                    [user_id] => 1
                )

            [1] => stdClass Object
                (
                    [day] => 29
                    [eventContent] => north again
                    [eventTitle] => ski hello
                    [id] => 26
                    [user] => shin
                    [user_id] => 1
                )

        )

    [31] => Array
        (
            [0] => stdClass Object
                (
                    [day] => 31
                    [eventContent] => test
                    [eventTitle] => test
                    [id] => 21
                    [user] => shin
                    [user_id] => 1
                )

        )
...
...

)

Ответы [ 3 ]

1 голос
/ 30 января 2010

Я не уверен, что представляют собой индексы массива, но я оставлю их на всякий случай, если они пригодятся вам. Ответ в основном такой же, как у Аликс с проверкой, чтобы убедиться, что у вас есть вложенный массив:

foreach ($array as $day => $events) {
    if (is_array($events)) {
        foreach ($events as $event) {
            echo $day;         // outputs 29 (same as $event->day)
            echo $event->user; // outputs shin
            echo $event->eventContent;
            echo $event->eventTitle;
            echo $event->id;
            // etc, etc, etc.
        }
    } 
}

Обратите внимание на разницу между внешним циклом foreach и внутренним циклом. Внешний извлекает значение ключа массива и , тогда как внутренний цикл возвращает только значение массива.

1 голос
/ 30 января 2010

См. current:

Функция current () просто возвращает значение элемента массива, на который в данный момент указывает внутренний указатель.

и все это См. Также -s (end, each, key, prev, reset, next).

0 голосов
/ 30 января 2010
foreach ($yourArray as $value)
{
    foreach ($value as $object)
    {
        echo $object->user;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...