Как я могу получить доступ к собственности с недопустимым именем?

Я добавляю данные в объект stdClass, который будет отправлен через сторонний API, и поэтому имена, которые я передаю элементам этого объекта, фактически определяются этой внешней службой.

$insertArray = array();
$insertArray[0] = new stdclass();
$insertArray[0]->Name = $name;
$insertArray[0]->PhoneNumber = $phone;

Все это прекрасно работало, пока я не встретил свойство с недопустимым именем:

$insertArray[0]->First.Name = $firstname;

Итак, это недопустимый синтаксис PHP, так есть ли способ обойти это?

Ответы

Ответ 1

Благодаря комментариям (@AbraCadaver) Сложный (фигурный) синтаксис - это путь к недопустимым переменным или именам свойств:

$insertArray[0]->{"First.Name"} = $firstname;