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

Как получить все значения id из вложенных объектов?

Есть объект:

object(stdClass)#3 (13) {
  ["id"]=>
  int(111)
  ["attachments"]=>
  array(1) {
    [0]=>
    object(stdClass)#4 (2) {
      ["photo"]=>
      object(stdClass)#5 (9) {
        ["id"]=>
        int(222)
          ...
          ...

Как получить все id на любой глубине? На выходе нужен массив из id [111, 222].
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F
function getIds($obj) {
  $ids = [];

  if (isset($obj->id)) {
    $ids[] = $obj->id;
  }

  if (is_object($obj) || is_array($obj)) {
    foreach ($obj as $val) {
      array_push($ids, ...getIds($val));
    }
  }

  return $ids;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽