【问题标题】:Access object property via array通过数组访问对象属性
【发布时间】:2013-06-06 03:12:33
【问题描述】:
我怎样才能简化这个结构:
$properties = $rs->$domains[0];
$dn = $properties[0]->distinguishedname;
因为 PHP 在这样的构造上会报错:
$dn = $rs->$domains[0][0]->distinguishedname
【问题讨论】:
标签:
php
arrays
object
properties
【解决方案1】:
这应该可以工作,或者说它们都不应该工作。
要使用->operator 访问对象的成员,您不需要使用$ 两次,据我所知,它应该会抛出某种错误或警告。
$properties = $rs->$domains[0];
$dn = $properties[0]->distinguishedname;
应该是:
$properties = $rs->domains[0];
$dn = $properties[0]->distinguishedname;
同样:
$dn = $rs->$domains[0][0]->distinguishedname;
应该是:
$dn = $rs->domains[0][0]->distinguishedname;
这是我在您的代码中看到的唯一问题。
【解决方案2】:
只要快速查看它,就好像只要数据实际存在,您的代码就应该可以工作。也许您尝试从没有属性的域中获取distinguishedname?
php 错误说明了什么?对您的数据结构执行 *var_dump* 以查看它实际上包含您期望的数据。