Задать вопрос
@PanCar

Как сделать вывод объектов из массива объектов на PHP?

Доброго времени суток. Я хочу сделать вывод name всех дискорд серверов в которых состоит пользователь с помощью Discord API на PHP. Но когда я пытаюсь вывести имена echo $guildstest->name;То мне выдает ошибку Notice: Trying to get property of non-object in E:\OpenServer\domains\localhost\DSS\guilds.php on line 23 . Я понимаю что это массив, но не понимаю как тогда все это выводить? Через echo $guildstest['name']; тоже пробовал ,выводит Notice: Undefined index: name in E:\OpenServer\domains\localhost\DSS\guilds.php on line 22 .В официальной документации про это нечего не написано. Пожалуйста помогите. Перед тем как задать вопрос я гуглил ,но того что мне подошло не нашел . Если что-то не понятно - пишите попробую более понятно объяснить.
Массив вот :
array(2) {
  [0]=>
  object(stdClass)#1 (7) {
    ["id"]=>
    string(18) "389086811399520256"
    ["name"]=>
    string(29) "Дискорд Ютуберы"
    ["icon"]=>
    string(34) "a_5fce721c1032fbcd17d19ea60c86eaff"
    ["owner"]=>
    bool(false)
    ["permissions"]=>
    int(37045248)
    ["features"]=>
    array(14) {
      [0]=>
      string(15) "PREVIEW_ENABLED"
      [1]=>
      string(9) "COMMUNITY"
      [2]=>
      string(22) "WELCOME_SCREEN_ENABLED"
      [3]=>
      string(27) "ENABLED_DISCOVERABLE_BEFORE"
      [4]=>
      string(8) "COMMERCE"
      [5]=>
      string(24) "THREE_DAY_THREAD_ARCHIVE"
      [6]=>
      string(32) "MEMBER_VERIFICATION_GATE_ENABLED"
      [7]=>
      string(4) "NEWS"
      [8]=>
      string(15) "PRIVATE_THREADS"
      [9]=>
      string(13) "INVITE_SPLASH"
      [10]=>
      string(13) "ANIMATED_ICON"
      [11]=>
      string(24) "SEVEN_DAY_THREAD_ARCHIVE"
      [12]=>
      string(6) "BANNER"
      [13]=>
      string(12) "DISCOVERABLE"
    }
    ["permissions_new"]=>
    string(12) "109558711296"
  }
[1]=>
  object(stdClass)#2 (7) {
    ["id"]=>
    string(18) "855072618180116510"
    ["name"]=>
    string(27) "Сервер РЕКЛАМА"
    ["icon"]=>
    NULL
    ["owner"]=>
    bool(true)
    ["permissions"]=>
    int(2147483647)
    ["features"]=>
    array(0) {
    }
    ["permissions_new"]=>
    string(12) "137438953471"
  }
}
  • Вопрос задан
  • 1053 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 2
@JohnDidact
Нуб во всём
В любой документации, официальной или неофициальной, об этом написано. Например, в разделах «массивы» и «объекты». У тебя объекты лежат в массивах под индексами. К свойству первого объекта тебе нужно обратиться $arr[0]->name, второго $arr[1]->name и так далее. Можешь через цикл, типа
foreach($arr AS $obj){
 $obj->name;
}
Ответ написан
@Everybody_Lies
У тебя массив объектов, т.е каждый элемент массива - это объект, следовательно тебе нужно циклом пробежаться по массиву и вывести из объекта поле нейм.
так
foreach($guildtest as $guild) {
  echo $guild->name;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы