【发布时间】:2021-03-16 12:13:44
【问题描述】:
在 PHP 中,我试图列出嵌套在 3 个对象(返回、用户、关联设备)下的特定数组(设备)。我的代码如下link。下面是代码:
$payload = array(
"userid"=>$_POST["iduser"],
"returnedTags"=>array(
"device"=>"",
)
);
$response = $client->getUser($payload);
var_dump 输出以下内容:
object(stdClass)#2 (1) {
["return"]=> object(stdClass)#3 (1) {
["user"]=> object(stdClass)#4 (1) {
["uuid"]=> string(38) "{ECBF3CAC-672B-B205-D14F-DAB3A3805F60}"
}
}
}
当我不过滤输出时,我可以看到所有信息并获取设备数组。
object(stdClass)#2 (1) {
["return"]=> object(stdClass)#3 (1) {
["user"]=> object(stdClass)#4 (59) {
["firstName"]=> string(5) "fname"
["displayName"]=> string(5) "dname"
["middleName"]=> string(0) ""
["lastName"]=> string(5) "lname"
["userid"]=> string(7) "user_id"
["password"]=> string(0) ""
["pin"]=> string(0) ""
["mailid"]=> string(0) ""
["department"]=> string(20) "IT Operations (AMER)"
["manager"]=> string(0) ""
["userLocale"]=> string(0) ""
["associatedDevices"]=> object(stdClass)#5 (1) {
**["device"]=> array(2) {
[0]=> string(15) "SEP3863BBB68D5D"
[1]=> string(15) "SEP5065F3B9AB95"**
}
}
我假设有一种方法可以调用该特定数组,但我没有看到它。任何帮助表示赞赏。谢谢。
【问题讨论】:
-
为什么要检索密钥?
device一个? -
我试图只返回“设备”字符串。
-
深度层数是动态的还是静态的?
-
数组的路径是静态的,但是设备数组中的条目数可以变化。
-
试试这个:
$payload = array("userid"=>$_POST["iduser"],"returnedTags"=>array("associatedDevices","device"));$response = $client->getUser($payload);然后检查您在associatedDevices或device部分中获取的数据。删除没有给您响应的另一个并保留给您所需结果的那个