Как получить данные из массива в объекте - PullRequest
1 голос
/ 28 октября 2011

Я не могу получить конкретные данные из массива внутри объекта.

$this->fields->adres получает адрес правильно, но я не могу получить уровень глубже.

Я пробовал:

$this->fields->province
$this->fields->province->0
$this->fields->province[0]

И: (редактировать)

$this->fields["province"][0]
$this->fields['province'][0]
$this->data->fields['province'][0]

Но он ничего не возвращает, в то время как должен возвращать "Flevoland".

Первая часть объекта print_r ($ this, TRUE) ниже:

RSMembershipModelSubscribe Object
(
    [_id] => 2
    [_extras] => Array
        (
        )

    [_data] => stdClass Object
        (
            [username] => testzz
            [name] => testzz
            [email] => xxxx@example.com
            [fields] => Array
                (
                    [province] => Array
                        (
                            [0] => Flevoland
                        )

                    [plaats] => tesdt
                    [adres] => test

Ответы [ 5 ]

4 голосов
/ 09 августа 2013

Вы также можете использовать приведение типа.

$fields = (array) $this->data->fields;
echo $fields['province'][0];
4 голосов
/ 28 октября 2011

Как видно из выходных данных, члены объекта, вероятно, будут частными (если вы следуете соглашениям, в любом случае вы должны добавить подчеркивание при вызове их), так что вы называете их неправильно; Этот код работает:

$this->_data->fields['province'][0];

Вы можете увидеть это в действии здесь ; Я создал похожий объект и с помощью

$membership = new RSMembershipModelSubscribe();
echo $membership->_data->fields['province'][0];

выводит "Flevoland", как и ожидалось.

0 голосов
/ 28 октября 2011

Поскольку поля уже являются массивом, попробуйте следующее:

$this->fields['province'][0]

Это при условии, что объект [_data] равен $this.

0 голосов
/ 28 октября 2011

Поля и провинция являются массивами, вы должны пытаться $this->fields["province"][0]

0 голосов
/ 28 октября 2011
$this->_data->fields['province'][0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...