Цикл массива содержит 3 класса - PullRequest
0 голосов
/ 09 декабря 2010

У меня не получается разобраться, как перебирать stdClasses.

Печать массива дает мне следующее:

Array
(
    [piggyback] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 1003
                    [entity_id] => 0
                    [redirect_url] => http://yahoo.com
                    [type] => Image
                )

        )

    [total_count] => 1
)
Array
(
    [piggyback] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 1002
                    [entity_id] => 0
                    [redirect_url] => http://google.com
                    [type] => Image
                )

        )

    [total_count] => 1
)
Array
(
    [piggyback] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 1001
                    [entity_id] => 0
                    [redirect_url] => http://bing.com
                    [type] => Image
                )

        )

    [total_count] => 1

Я пытаюсь выполнить цикл с помощью следующего и распечатать значение (id), но я ничего не получаю.

foreach ($piggies_array as $key => $value) {
  echo $piggies_array[$key]['id'];
}

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010
foreach ($piggies_array as $key => $value) {
if (is_array($value)){
  echo $value[0]->id;
 }
}
1 голос
/ 09 декабря 2010

Я думаю, вам нужно:

for ($i = 0; $i < count($piggies_array); $i++) {
    echo $piggies_array[$i]['piggyback'][0]->id;
}

... при условии, что мы можем видеть только часть вашего вывода;)

0 голосов
/ 09 декабря 2010

попробуйте заменить его на echo $value->id;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...