Я работаю над тем, что требует от меня получения атрибута из массива, что, как мне казалось, было довольно простым. Как ни странно, я не могу понять, как получить атрибут. Атрибуты, которые мне нужно достичь, - это IP-адрес в массиве. Если я сброшу объект, он вернет следующее
0 => Networks{#1010 ▼
+ipAddress: "192.125.3.232"
+gateway: "192.125.0.1"
+type: "public"
etc......
Теперь мне нужно получить IP-адрес из этого массива. Как я могу этого добиться?
Я пробовал делать такие вещи, как
$data['networks'][0]['ipAddress']; или $data->{'networks[0]'}->{'ipAddress'}
Но они оба дали ошибку
Cannot use object of type DigitalOceanV2\Entity\Droplet as array
Как решить эту проблему?
РЕДАКТИРОВАТЬ
Я получаю объект, делающий это
$droplet = DigitalOcean::droplet()->create($storeName, 'ams3', 's-1vcpu-1gb', $images[0]->id);
$data = DigitalOcean::droplet()->getById($droplet->id);
@Adam Это не имеет значения, иначе я бы не разместил вопрос. Я это уже пробовал.
Не могли бы вы дать нам полный дамп рассматриваемого массива?
@SougataBose К сожалению, это не работает. Это дает мне ту же ошибку, о которой говорилось выше.
@Adam Полный дамп это imgur.com/a/QUfTa
Покажите, пожалуйста, код, как вы получаете $ данные?
@ChiragPatel Я обновил вопрос
Ошибка говорит, что Networks не массив .. получить реквизит как объект. $data->networks[0]->ipAddress






Попробуйте этот код,
Сначала убедитесь, что у вас есть значения в $networks,
$networks = $data['networks'];
И если $networks не пусто, попробуйте это
$ipAddress = $networks[0]['ipAddress'];
Это дает мне ошибку Cannot use object of type DigitalOceanV2\Entity\Droplet as array. Я совсем этого не понимаю
Можете ли вы использовать этот $data = DigitalOcean::droplet()->find($droplet->id); вместо getById? и проверить результат он идет или нет?
Это дает мне ту же ошибку, что и первый комментарий по этому вопросу
Позвольте нам продолжить обсуждение в чате.
But both of them gave the error
Cannot use object of type DigitalOceanV2\Entity\Droplet as array
Поскольку Droplet - это объект, вам нужно использовать -> для получения свойств.
$data->networks[0]->ipAddress
Сети пишутся с заглавной буквы.