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

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

Метод toArray класса ArrayCollection возвращает обычный PHP-массив, содержащий все элементы коллекции с сохранением их ключей. Метод не принимает параметров и всегда возвращает значение типа array. После вызова коллекция остаётся неизменной, а массив является её независимой копией.

Синтаксис

$res = $collection->toArray();

Пример

Давайте создадим коллекцию из нескольких строк и преобразуем её в массив:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\Common\Collections\ArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection(['abcde', 'article', 'user']); $res = $collection->toArray(); return new Response(json_encode($res)); } } ?>

Результат выполнения кода:

["abcde", "article", "user"]

Пример

Давайте создадим коллекцию с числовыми ключами и преобразуем её в массив:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\Common\Collections\ArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection([1, 2, 3, 4, 5]); $res = $collection->toArray(); return new Response(json_encode($res)); } } ?>

Результат выполнения кода:

[1, 2, 3, 4, 5]

Пример

Давайте создадим коллекцию со строковыми ключами и преобразуем её в массив:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\Common\Collections\ArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection([ 'first' => 'abcde', 'second' => 'article', 'third' => 'user' ]); $res = $collection->toArray(); return new Response(json_encode($res)); } } ?>

Результат выполнения кода:

{"first": "abcde", "second": "article", "third": "user"}

Пример

Давайте создадим пустую коллекцию и преобразуем её в массив:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\Common\Collections\ArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection(); $res = $collection->toArray(); return new Response(json_encode($res)); } } ?>

Результат выполнения кода:

[]

Пример

Давайте добавим элементы в коллекцию, а затем преобразуем её в массив:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\Common\Collections\ArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection(); $collection->add('abcde'); $collection->add('article'); $collection->add('user'); $res = $collection->toArray(); return new Response(json_encode($res)); } } ?>

Результат выполнения кода:

["abcde", "article", "user"]

Пример

Давайте убедимся, что метод возвращает копию, а не саму коллекцию:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Doctrine\Common\Collections\ArrayCollection; class ArticleController extends AbstractController { public function index(): Response { $collection = new ArrayCollection(['abcde', 'article']); $res = $collection->toArray(); $res[] = 'user'; return new Response(json_encode([ 'array' => $res, 'collection' => $collection->toArray() ])); } } ?>

Результат выполнения кода:

{"array": ["abcde", "article", "user"], "collection": ["abcde", "article"]}

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

  • класс ArrayCollection,
    который представляет собой коллекцию элементов
  • метод add,
    который добавляет элемент в коллекцию
  • метод getValues,
    который возвращает значения элементов коллекции
  • метод getKeys,
    который возвращает ключи элементов коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить