ДД. У меня массив есть с данными полученными из JSON... Выглядят данные в JSON вот так: Код (Text): name: myname category-id: 8 В коде, в цикле foreach: Код (Text): echo $data->name; Выводится myname. Собственно с этим, все нормально и всё понятно. Однако, если начать выводить category-id: Код (Text): echo $data->category-id; Не выводится, так как в category-id есть дефис. Вопрос, как сделать чтобы вывести данные из category-id. Заранее спасибо
Нельзя в лексемах использовать дефис. Конвертируйте не в набор свойств, а в ассоц. массив, чтобы обращаться при помощи $data['category-id'], либо, что еще лучше, не используйте в именах полей дефисы, а используйте подчеркивания.
Здравствуйте. Знаю что нельзя. Использую не я, а API откуда данные получаю. Я вас понял. Дело в том что так мне нравится оформление кода. в целом я догадывался, что проблема именно в этом. Думал что есть решение с дефисом. Спасибо.
@q0b3rMAN, вот такой вариант: PHP: $foo = new stdClass(); $str = 'item-0'; $foo->$str = 'item-0-value'; var_dump($foo); С пачкой последующих "неудобств"