Метод getValues класса ArrayCollection
Метод getValues класса ArrayCollection возвращает
новый массив, содержащий все значения коллекции.
В отличие от метода toArray, который сохраняет ключи,
метод getValues переиндексирует массив
с числовыми ключами от нуля. Метод не принимает параметров
и возвращает обычный PHP-массив.
Синтаксис
$res = $collection->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
{
$collection = new ArrayCollection([
'a' => 'abcde',
'b' => 'article',
'c' => 'user'
]);
$res = $collection->getValues();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
["abcde", "article", "user"]
Пример
Давайте сравним результат работы методов
getValues и 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([
'first' => 'abcde',
'second' => 'article',
'third' => 'user'
]);
$values = $collection->getValues();
$array = $collection->toArray();
return new Response(json_encode([
'values' => $values,
'array' => $array
]));
}
}
?>
Результат выполнения кода:
{"values":["abcde","article","user"],"array":{"first":"abcde","second":"article","third":"user"}}
Как видно из результата, метод getValues
отбрасывает исходные ключи и возвращает массив
с числовой индексацией, а метод toArray
сохраняет ключи коллекции.
Смотрите также
-
класс
ArrayCollection,
который представляет собой коллекцию элементов -
метод
toArray,
который возвращает массив с сохранением ключей -
метод
getKeys,
который возвращает массив всех ключей коллекции -
метод
get,
который возвращает элемент по указанному ключу