Laravel - Атрибут получения массива

Я работаю над тем, что требует от меня получения атрибута из массива, что, как мне казалось, было довольно простым. Как ни странно, я не могу понять, как получить атрибут. Атрибуты, которые мне нужно достичь, - это 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 09.04.2018 14:16

@Adam Это не имеет значения, иначе я бы не разместил вопрос. Я это уже пробовал.

user5838715 09.04.2018 14:18

Не могли бы вы дать нам полный дамп рассматриваемого массива?

Adam 09.04.2018 14:19

@SougataBose К сожалению, это не работает. Это дает мне ту же ошибку, о которой говорилось выше.

user5838715 09.04.2018 14:22

@Adam Полный дамп это imgur.com/a/QUfTa

user5838715 09.04.2018 14:25

Покажите, пожалуйста, код, как вы получаете $ данные?

Chirag Patel 09.04.2018 14:30

@ChiragPatel Я обновил вопрос

user5838715 09.04.2018 14:32

Ошибка говорит, что Networks не массив .. получить реквизит как объект. $data->networks[0]->ipAddress

Luis felipe De jesus Munoz 09.04.2018 15:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
8
1 749
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте этот код, Сначала убедитесь, что у вас есть значения в $networks,

$networks = $data['networks'];

И если $networks не пусто, попробуйте это

$ipAddress = $networks[0]['ipAddress'];

Это дает мне ошибку Cannot use object of type DigitalOceanV2\Entity\Droplet as array. Я совсем этого не понимаю

user5838715 09.04.2018 14:48

Можете ли вы использовать этот $data = DigitalOcean::droplet()->find($droplet->id); вместо getById? и проверить результат он идет или нет?

Chirag Patel 09.04.2018 14:54

Это дает мне ту же ошибку, что и первый комментарий по этому вопросу

user5838715 09.04.2018 15:01

Позвольте нам продолжить обсуждение в чате.

Chirag Patel 09.04.2018 15:04
Ответ принят как подходящий

But both of them gave the error

Cannot use object of type DigitalOceanV2\Entity\Droplet as array

Поскольку Droplet - это объект, вам нужно использовать -> для получения свойств.

$data->networks[0]->ipAddress

Другие вопросы по теме