在stdClass对象中访问属性

12
stdClass Object
(
[ModuleAccountInfo] => Array
    (
        [0] => stdClass Object
            (
                [ServerName] => EAST
                [HostingModule] => ActiveDirectory
                [ActiveDirectorySiteName] => EAST
                [AccountIdentity] => OU=ndla,OU=Hosting,DC=east,DC=domain,DC=local
                [Groups] => 2
                [Users] => 15
            )

        [1] => stdClass Object
            (
                [ServerName] => EAST.net
                [HostingModule] => hange
                [DiskQuota] => 375000
                [DiskQuotaAdditional] => 0
                [DateQuotaExceeded] => 0001-01-01T00:00:00
                [DiskSpace] => 58567
                [MailboxesDiskSpace] => 59973051
                [PublicFoldersDiskSpace] => 0
                [MessageArchivingDiskSpace] => 0
                [Contacts] => 8
                [Mailboxes] => 15

我如何访问ServerName属性? 该对象保存在$modules变量中。以上是$modules的print_r。

1个回答

14

由于ModuleAccountInfo属性是一个数组,您需要使用特定的索引值。

echo $modules->ModuleAccountInfo[0]->ServerName;

循环语句

foreach ($modules->ModuleAccountInfo as $moduleAccountInfo) {
    echo $moduleAccountInfo->ServerName;
}

1
最好将其从stdClass对象转换为数组,这样您就可以轻松获取任何成员。$value = get_object_vars($decodedvalues); $val = $value['ModuleAccountInfo']['0']['ServerName']; - Ali Raza
1
对我来说,$value['ModuleAccountInfo']['0']['ServerName'] 并不比 $moduleAccountInfo->ServerName 更简单。 - Gustavo Rodríguez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接