Как я могу переформатировать этот массив?

#arrays #multidimensional-array

#массивы #многомерный массив

Вопрос:

Я искал высоко и низко, и я, должно быть, упускаю из виду что-то очевидное. Как я могу восстановить этот вывод, который я извлек из API youtube, чтобы он выглядел как второй блок кода ниже. Также я хочу удалить часть видео из массива. Я даже не знаю, с чего начать, иначе я бы опубликовал какой-нибудь пример, который я уже пробовал.

Я также хотел бы знать, какова точная терминология для описания того, как создается первый массив по сравнению со вторым.

Вот массив youtube, который возвращается из нашего вызова API. Это просто 2 сообщения из ленты YouTube.. они начинаются под «элементами»: [ часть массива.

 Array
(
    [videos] => {
 "kind": "youtube#playlistItemListResponse",
 "etag": ""I_8xdZu766_FSaexEaDXTIfEWc0/qYy5QZyPpmtNPAJ_cTTDagaLYv0"",
 "nextPageToken": "CAIQAA",
 "pageInfo": {
  "totalResults": 15,
  "resultsPerPage": 2
 },
 "items": [
  {
   "kind": "youtube#playlistItem",
   "etag": ""I_8xdZu766_FSaexEaDXTIfEWc0/o2RZKiVOV3D5PlBUVONXwxRQACQ"",
   "id": "VVUtU1dDTm1QOS11ODFLOC1GMkY5RlB3LmJITEwxTDlFX0pB",
   "snippet": {
    "publishedAt": "2015-09-23T21:52:41.000Z",
    "channelId": "UC-SWCNmP9-u81K8-F2F9FPw",
    "title": "A day in the life of a sponsored skateboarder / parent",
    "description": "I've had a hard time connecting with my family lately.",
    "thumbnails": {
     "standard": {
      "url": "https://i.ytimg.com/vi/bHLL1L9E_JA/sddefault.jpg",
      "width": 640,
      "height": 480
     }
    },
    "channelTitle": "Tony Hawk",
    "playlistId": "UU-SWCNmP9-u81K8-F2F9FPw",
    "position": 0,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "bHLL1L9E_JA"
    }
   }
  },
  {
   "kind": "youtube#playlistItem",
   "etag": ""I_8xdZu766_FSaexEaDXTIfEWc0/tFkAXp2IF-WC4lWu_OsWEF4mLIk"",
   "id": "VVUtU1dDTm1QOS11ODFLOC1GMkY5RlB3LkwzdHZvTnBBc25J",
   "snippet": {
    "publishedAt": "2015-01-05T05:13:22.000Z",
    "channelId": "UC-SWCNmP9-u81K8-F2F9FPw",
    "title": "Tahitian treats",
    "description": "",
    "thumbnails": {
     "standard": {
      "url": "https://i.ytimg.com/vi/L3tvoNpAsnI/sddefault.jpg",
      "width": 640,
      "height": 480
     }
    },
    "channelTitle": "Tony Hawk",
    "playlistId": "UU-SWCNmP9-u81K8-F2F9FPw",
    "position": 1,
    "resourceId": {
     "kind": "youtube#video",
     "videoId": "L3tvoNpAsnI"
    }
   }
  }
 ]
}

)
  

Я хотел бы переформатировать его, чтобы он больше походил на этот. Я добавил только несколько полей, чтобы не вводить их все заново. Надеюсь, основная идея понята.

 Array
(
 [data] => Array
        (
      [0] => stdClass Object
          (
             [kind] => "youtube#playlistItem",
             [etag] => ""I_8xdZu766_FSaexEaDXTIfEWc0/o2RZKiVOV3D5PlBUVONXwxRQACQ"",
             [id] => "VVUtU1dDTm1QOS11ODFLOC1GMkY5RlB3LmJITEwxTDlFX0pB",
             [snippet] => (
                [publishedAt] =>  "2015-09-23T21:52:41.000Z",
                [channelId] =>  "UC-SWCNmP9-u81K8-F2F9FPw",
              )
           )
      [1] => stdClass Object
          (
             [kind] => "youtube#playlistItem",
             [etag] => ""I_8xdZu766_FSaexEaDXTIfEWc0/o2RZKiVOV3D5PlBUVONXwxRQACQ"",
             [id] => "VVUtU1dDTm1QOS11ODFLOC1GMkY5RlB3LmJITEwxTDlFX0pB",
             [snippet] => (
                [publishedAt] =>  "2015-09-23T21:52:41.000Z",
                [channelId] =>  "UC-SWCNmP9-u81K8-F2F9FPw",
              )
           )
       )
)
  

Ответ №1:

Конечно, я забыл расшифровать ответ json…

json_decode($ videos);

Первый блок кода выше представляет собой массив json, а второй блок — декодированную версию.