РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
994 of 1361 menu

Метод toArray класса ClientResponse

Метод toArray класса ClientResponse преобразует тело HTTP-ответа, содержащее JSON-строку, в ассоциативный массив PHP. Метод не принимает параметров и возвращает массив. Если тело ответа не является корректным JSON, будет выброшено исключение JsonException.

Синтаксис

public function toArray(): array

Пример

Давайте выполним GET-запрос к API, который возвращает JSON-объект, и преобразуем ответ в массив:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpClient\HttpClient; class ApiController extends AbstractController { #[Route('/api', name: 'api_index')] public function index(): Response { $client = HttpClient::create(); $response = $client->request('GET', 'https://example.com/api/article'); $res = $response->toArray(); return new Response($res['title']); } } ?>

Если сервер вернул JSON вида {"title": "hello", "id": 1}, то результатом выполнения будет строка:

"hello"

Пример

Давайте выведем весь полученный массив с помощью функции print_r:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\HttpClient\HttpClient; class ApiController extends AbstractController { #[Route('/api/list', name: 'api_list')] public function list(): Response { $client = HttpClient::create(); $response = $client->request('GET', 'https://example.com/api/articles'); $res = $response->toArray(); return new Response(print_r($res, true)); } } ?>

Если сервер вернул JSON-массив ["article 1", "article 2", "article 3"], то результатом выполнения будет:

["article 1", "article 2", "article 3"]

Смотрите также

  • класс ClientResponse,
    который представляет HTTP-ответ клиента
  • метод getContent,
    который возвращает тело ответа строкой
  • метод getStatusCode,
    который возвращает код состояния ответа
  • метод getHeaders,
    который возвращает заголовки ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить