Получение значений из массивов, содержащих PHP-объекты stdClass

Я получаю информацию от API Graph Facebook, который возвращает массив, содержащий несколько объектов stdClass. Я легко могу прочитать элементы "верхнего" уровня, такие как $myGraph['id'] = 123111193 в примере ниже.

Может кто-нибудь показать мне, как получить данные из объектов stdClass, например, School Name в следующем примере, созданном с помощью print_r()?

    Array
    (
        [id] => 123111193
        [education] => Array
    (
        [0] => stdClass Object
            (
                [school] => stdClass Object
                    (
                        [id] => 108177302537907
                        [name] => State College Area High School
                    )

                [type] => High School
                [year] => stdClass Object
                    (
                        [id] => 117615364954534
                        [name] => 1975
                    )

            )

        [1] => stdClass Object
            (
                [concentration] => Array
                    (
                        [0] => stdClass Object
                            (
                                [id] => 193334910691838
                                [name] => Individual and Family Studies
                            )

                    )

                [school] => stdClass Object
                    (
                        [id] => 113618111985274
                        [name] => Pennsylvania State University
                    )

2 ответа

Решение
<?php

foreach($mainArray['education'] as $edObj) 
{
     echo $edObj->school->name;
}

Ничего фантастического. Если у вас есть объект под названием std $foo и у него есть $bar член, то вы относитесь к нему как $foo->bar, Пример:

foreach ($mainArray["education"] as $value) {
    echo $value->school->name;
}
Другие вопросы по тегам