我有这个小片段:
$action = $_GET['action'];
// some other code
// works
$properties = $client->__soapCall($action, array(
array(
'Page' => $x
)
));
// try to get access to values by var $action
$obj = $properties->$action->item;
这给了我一个错误。我的目的是通过获取不同的操作,仅对脚本执行一次多次操作。
...但我不知道如何解决这个问题,而且我没有找到任何有用的帖子或文章。
var_dump($properties)
:
object(stdClass)#84 (4) {
["PropertyGroups"]=>
object(stdClass)#85 (1) {
["item"]=>
array(73) {
[0]=>
object(stdClass)#86 (7) {
["PropertyGroupID"]=>int(1)
}
}
}
}
答案 0 :(得分:1)
脚本和这一行
$obj = $properties->$action->item;
绝对没问题。但是,正如你在评论中指出的那样,
如果action = GetPropertyGroups,Undefined属性:
stdClass::$GetPropertyGroups
PropertyGroups
中有$properties
个属性,不是GetPropertyGroups
。
您应该检查您正在寻找的财产是否存在:
property_exists($properties, $action)