Всем привет. Имеется некий объект, мне нужно из него удалить под-объект. Обычно делаю так: unset($data->list); Но у меня ключ содержит тире "-" и уже таким способом не удалить: unset($data->list->name-9); Я гуглил, читал по форумам, везде описана работа с ключами объектов, где нет тире. Как удалить такой под-объект или как работать с такими ключами. Ошибка вылазит стандартная "Parse error: syntax error, unexpected". Указывает, на строку, где удаляю под-объект. Спасибо.
@Андрей С., объект с ключами, подобъект - не удивительно что нихрена не получается если придумывать свою собственную терминологию.
@Андрей С. php поддердживает такие конструкции: $obj->{'any name here'} Код (Text): $ php artisan tinker Psy Shell v0.9.12 (PHP 7.3.14 — cli) by Justin Hileman >>> $arr = ['sigma' => 1, 'beta' => 2, 'alfa-centraur' => 3]; => [ "sigma" => 1, "beta" => 2, "alfa-centraur" => 3, ] >>> $obj = (object)$arr; => {#3013 +"sigma": 1, +"beta": 2, +"alfa-centraur": 3, } >>> $obj->beta; => 2 >>> $obj->{'alfa-centaur'}; PHP Notice: Undefined property: stdClass::$alfa-centaur in Psy Shell code on line 1 >>> $obj->{'alfa-centraur'}; => 3 >>> --- Добавлено --- Уж не знаю насколько это тебе поможет Но вот такое обращение к "подобъекту" возможно )))
Спасибо огромное. Ваш ответ очень помог --- Добавлено --- Могли бы написать правильную терминологию, помогли бы мне и другим новичкам. Иначе какой был смысл от вашей записи, я и сам знаю, что не в полной мере владею терминологией, по этому пишу в раздел для новичков