这个问题已经在这里有了答案:




已关闭8年。





print_r($myObj)给出以下结果:

stdClass Object
(
    [4021450] => stdClass Object
    (
        [property1] => ooo
        [property2] => xxx
    )
    [3971601] => stdClass Object
    (
        [property1] => 123
        [property2] => 356
    )
)

如何使用带有括号的大括号语法访问sub-object

我试过了:
$myObj->'3971601';                     // Parse error: syntax error
$myObj->{'3971601'};                   // Works
$id = 3971601; $myObj->{$id};          // Notice: Trying to get property of non-object
$id = 3971601; $myObj->{''.$id};       // Notice: Trying to get property of non-object
$arr = (array)$myObj; $arr[3971601];   // Notice: Undefined offset: 3971601
$arr = (array)$myObj; $arr['3971601']; // Notice: Undefined index: 3971601

最佳答案

您应该可以完全省略花括号:$myObj->$id。但是,您的最后4个示例表明有些不对劲。似乎在某些地方,$myObj被设置为null或其他一些非对象值。

关于php - 如何访问php花括号对象属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4643894/

10-10 04:22