Иногда в процессе работы может возникнуть ситуация, когда вам нужно обратиться к свойству объекта, имя которого содержит тире /черточку, дефис, знак минус / (например, "last-name"). Это может возникнуть, когда объект создается автоматически (например, при парсинге XML-файла через simplexml_load_string.
Стандартное обращение к свойству в таком случае выдаст ошибку:
$obj->last-name
PHP будет воспринимать "-" как знак минус и выдаст ошибку:
Notice: Use of undefined constant name - assumed 'name'
Для решения проблемы к свойству нужно обратиться так
$obj->{"last-name"}