我似乎无法从对象内的数组中获取特定数据。
$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
答案 0 :(得分:4)
正如您可以通过输出看到的,对象成员可能是私有的(如果您遵循约定,无论如何您必须在调用它们时添加下划线),因此您以错误的方式调用它们; 此代码有效:
$this->_data->fields['province'][0];
您可以在行动here中看到它; 我创建了一个类似的对象,并使用
$membership = new RSMembershipModelSubscribe();
echo $membership->_data->fields['province'][0];
按预期输出“Flevoland”。
答案 1 :(得分:4)
您也可以使用类型转换。
$fields = (array) $this->data->fields;
echo $fields['province'][0];
答案 2 :(得分:0)
$this->_data->fields['province'][0]
答案 3 :(得分:0)
由于字段已经是数组,请尝试以下方法:
$this->fields['province'][0]
这假设[_data]对象是$this
。
答案 4 :(得分:0)
字段和省都是数组,您应该尝试$this->fields["province"][0]