php - foreach 循环获取元素的值

标签 php

在过去的几个小时里,我一直在努力解决这个问题,一直在努力从这个数组中获取 userid 和 jobprocstatus 的值。

这是 print_r($result);

的结果
 stdClass Object ( [accountid] => 6f3f55f6-67a1-11e4-a7c1-7e542e26bbf0 [userid] => 6f3f650b-67a1-11e4-a7c1-7e542e26bbf0 [cmd] => org.apache.cloudstack.api.command.admin.vm.DeployVMCmdByAdmin [jobstatus] => 1 [jobprocstatus] => 0 [jobresultcode] => 0 [jobresulttype] => object [jobresult] => stdClass Object ( [virtualmachine] => stdClass Object ( [id] => ccfbb592-ebfa-4f18-b861-4ae5e1a15426 [name] => VM-ccfbb592-ebfa-4f18-b861-4ae5e1a15426 [displayname] => VM-ccfbb592-ebfa-4f18-b861-4ae5e1a15426 [account] => admin [domainid] => ea3b19e6-67a0-11e4-a7c1-7e542e26bbf0 [domain] => ROOT [created] => 2014-11-11T17:39:31-0500 [state] => Running [haenable] => [zoneid] => 481b2bdf-90ba-4841-bd5a-f4fbf6027401 [zonename] => Toronto [hostid] => cc66aa5e-6be3-4f35-b538-87a9b09a6fc5 [hostname] => TOR-XENSRV61 [templateid] => ea41cab5-67a0-11e4-a7c1-7e542e26bbf0 [templatename] => CentOS 5.6(64-bit) no GUI (XenServer) [templatedisplaytext] => CentOS 5.6(64-bit) no GUI (XenServer) [passwordenabled] => [serviceofferingid] => 61ee4943-1af5-4168-9dee-fdd128fd58db [serviceofferingname] => Small Instance [cpunumber] => 1 [cpuspeed] => 500 [memory] => 512 [guestosid] => ea9ebb7a-67a0-11e4-a7c1-7e542e26bbf0 [rootdeviceid] => 0 [rootdevicetype] => ROOT [securitygroup] => Array ( ) [nic] => Array ( [0] => stdClass Object ( [id] => 1145aa85-cf95-4215-b1a7-439166698c23 [networkid] => fdeaaf3a-2ee1-45e3-bc15-b325b2ea517c [networkname] => test [netmask] => 255.255.255.0 [gateway] => 192.168.168.1 [ipaddress] => 192.168.168.177 [isolationuri] => vlan://286 [broadcasturi] => vlan://286 [traffictype] => Guest [type] => Isolated [isdefault] => 1 [macaddress] => 02:00:6d:ba:00:16 ) ) [hypervisor] => XenServer [instancename] => i-2-29-VM [tags] => Array ( ) [affinitygroup] => Array ( ) [displayvm] => 1 [isdynamicallyscalable] => 1 [ostypeid] => 142 [jobid] => 3a3c2e81-296b-4f00-906d-d4aac918487c [jobstatus] => 0 ) ) [created] => 2014-11-11T17:39:32-0500 [jobid] => 3a3c2e81-296b-4f00-906d-d4aac918487c ) 

这是我试过的

<?php 

foreach ($result as $key => $value) {
    echo "$key : $value <br>";

}

输出

accountid : 6f3f55f6-67a1-11e4-a7c1-7e542e26bbf0 
userid : 6f3f650b-67a1-11e4-a7c1-7e542e26bbf0 
cmd : org.apache.cloudstack.api.command.admin.vm.DeployVMCmdByAdmin 
jobstatus : 1 
jobprocstatus : 0 
jobresultcode : 0 
jobresulttype : object 

我只是想从这个数组中获取 userid 元素的值,但是每次我尝试

echo "$result['userid']";

我收到银行屏幕,但无法确定问题所在。

非常感谢您的帮助。

最佳答案

这对对象列表有用

foreach ($result as $key => $value) {
    echo $value->userid;
}

对于单个对象:

echo $value->userid;

$value 是一个对象,要获取对象的属性,您必须使用 -> 运算符。

如果你想获取一个对象列表的所有公共(public)属性:

foreach ($result as $key => $obj) {
    foreach (get_object_vars($obj) as $name => $value) {
        echo "Object mapped to $key has property $name => $value";
    }    
}

关于php - foreach 循环获取元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26877238/

相关文章:

PHP 填充下拉列表

使用 HMAC+nonce 存储 PHP 密码 - nonce 随机性重要吗?

javascript - php 中仅验证文件附件 doc 和 pdf

php - javascript 全局变量

PHP Mysql自动报价?

php - 如何使用php将记录插入sql数据库上的多对多关系表?

php - xor 运算符在 PHP 和 Visual Basic 中的工作方式不同

php - 多维数组迭代

php - 检测颜色是否在范围内

php - MySQLi插入错误