I got an object (in PHP) and I can't print the content.
In debug-mode it's like this:
stdClass Object
(
[pre-selection] => 1
)
But I can't print the 'pre-selection' because of the minus sign.
echo $object->pre-selection; //doens't work.
How can I print this out? Thanks.
Answer
You could try
$object->{'pre-selection'};
http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex
See also Example 2 of json_decode()
Example #2 Accessing invalid object properties
Accessing elements within an object that contain characters not
permitted under PHP's naming convention (e.g. the hyphen) can be
accomplished by encapsulating the element name within braces and the
apostrophe.
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>
Update (thanks to salathe):
Curly braces may also be used, to clearly delimit the property name. They are most useful when accessing values within a property that contains an array, when the property name is made of mulitple parts, or when the property name contains characters that are not otherwise valid
No comments:
Post a Comment