Если вам нужно найти индекс, есть несколько способов сделать это:
// use a variable
$prop = 'my-crazy-property';
$obj->$prop;
// use {}
$obj->{'my-crazy-property'};
// get_object_vars (better with a lot of crazy properties)
$vars = get_object_vars($obj);
$vars['my-crazy-property'];
// you can cast to an array directly
$arr = (array)$obj;
$arr['my-crazy-property'];
Если вам нужно работать со строкой (что не является вашей лучшей идеей, вам следует использовать ручную конкатенацию, где это возможно, поскольку это быстрее и анализируемые строки не нужны), тогда вы должны использовать {}, чтобы в основном экранировать всю последовательность :
$foo = new stdClass();
$foo->{"my-crazy-property"} = 1;
var_dump("my crazy property is {$foo->{"my-crazy-property"}}";
Поскольку вы упомянули, что это API-интерфейс LinkedIn, который, как мне кажется, имеет возможность возвращать XML, может быть быстрее (и, возможно, чище / понятнее) использовать вызовы методов XML, а не сами объекты. Пища для размышлений.