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

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

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

Синтаксис

public function getKeys(): array

Пример

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

<?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 { $coll = new ArrayCollection(['a', 'b', 'c', 'd', 'e']); $res = $coll->getKeys(); return new Response(json_encode($res)); } } ?>

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

[0, 1, 2, 3, 4]

Пример

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

<?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 { $coll = new ArrayCollection([ 'user' => 'abcde', 'article' => 'hello', ]); $res = $coll->getKeys(); return new Response(json_encode($res)); } } ?>

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

["user", "article"]

Пример

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

<?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 { $coll = new ArrayCollection(['a', 'b', 'c', 'd', 'e']); $coll->removeElement('b'); $res = $coll->getKeys(); return new Response(json_encode($res)); } } ?>

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

[0, 2, 3, 4]

Пример

Давайте используем метод getKeys вместе с методом getValues для обхода коллекции:

<?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 { $coll = new ArrayCollection([ 'user' => 'abcde', 'article' => 'hello', ]); $keys = $coll->getKeys(); $values = $coll->getValues(); $res = array_combine($keys, $values); return new Response(json_encode($res)); } } ?>

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

{"user": "abcde", "article": "hello"}

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

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