невозможно создать объект в php и добавить пару ключ / значение - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь создать объект в PHP и добавить пару ключ-значение, состоящую из адреса электронной почты для ключа и пустого массива для значения. Это не работает. Вот что я пробовал.

$user[0]['email'] = 'abc@gmail.com';
$obj = new stdClass();
$obj[[$user[0]['email']]=[];

Я думал, что это даст $obj = {abc@gmail.com:[]}, но кажется пустым

1 Ответ

2 голосов
/ 11 февраля 2020

У вас есть Ошибка разбора: синтаксическая ошибка здесь:

$obj[[$user[0]['email']]=[];
     ^

Однако, поскольку это объект, а не массив, используйте свойство. Нужны фигурные скобки {}, так как это недопустимое имя переменной (не рекомендуется):

$user[0]['email'] = 'abc@gmail.com';
$obj = new stdClass();
$obj->{$user[0]['email']}=[];

Или создайте массив и приведите его к объекту:

$user[0]['email'] = 'abc@gmail.com';
(object)$obj[$user[0]['email']]=[];

Оба результата:

stdClass Object
(
    [abc@gmail.com] => Array
        (
        )

)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...