【发布时间】:2013-02-10 15:34:02
【问题描述】:
我正在使用 RedBeansPHP 3.3 并有以下由 RedBeans findOne 创建的名为 $result 的 PHP 对象:
RedBean_OODBBean Object
(
[null:RedBean_OODBBean:private] =>
[properties:RedBean_OODBBean:private] => Array
(
[id] => 10
[datetime] => 2013-02-10 10:17:43
[ip] => 68.32.52.219
[vcode] => 6780-QBDY
[roll1] => 7
[roll2] => 8
[roll3] => 10
[roll4] => 6
[roll5] => 1
[roll6] => 4
[roll7] => 2
[roll8] => 4
[roll9] => 2
[roll10] => 8
)
[__info:RedBean_OODBBean:private] => Array
(
[type] => dice
[sys.id] => id
[tainted] =>
[sys.orig] => Array
(
[id] => 10
[datetime] => 2013-02-10 10:17:43
[ip] => 68.32.52.219
[vcode] => 6780-QBDY
[roll1] => 7
[roll2] => 8
[roll3] => 10
[roll4] => 6
[roll5] => 1
[roll6] => 4
[roll7] => 2
[roll8] => 4
[roll9] => 2
[roll10] => 8
)
)
[beanHelper:RedBean_OODBBean:private] => RedBean_BeanHelper_Facade Object
(
)
[fetchType:RedBean_OODBBean:private] =>
[withSql:RedBean_OODBBean:private] =>
[aliasName:RedBean_OODBBean:private] =>
)
我想访问第二个数组中的值[type] => dice。它的 PHP 语法是什么?
$result->?????????->输入[我关闭了吗?]
谢谢!
【问题讨论】:
-
__info数组属性是private属性,这意味着您无法访问它,除非您修改类以为其编写getter 方法。我无法从像您的$result这样的对象变量访问。 -
不确定the API 是否已经提供了访问它的方法。
-
我可以通过说
$result->ip或代替ip 的任何内容来访问整个第一个数组。这也被标记为private。按理说我应该能够访问第二个数组? -
不是这样 - 如果你正在做
$result->ip你得到的不是直接来自properties数组的值。那是private,你不能直接访问类方法之外的私有属性。请发布您用于获取 IP 的 PHP 代码,因为它不能通过$result->properties['ip'](如果您在类方法中工作,可以通过$this->properties['ip']) -
如果我这样做:
$var = $result->ip; echo $var;我确实得到了68.32.52.219的返回。
标签: php arrays object orm redbean