Метод set класса ArrayCollection
Метод set класса ArrayCollection
заменяет значение элемента коллекции по
указанному ключу. Первым параметром
передаётся ключ, вторым - новое значение.
Если ключ отсутствует, элемент будет
добавлен в коллекцию.
Синтаксис
$collection->set($key, $value);
Пример
Давайте заменим значение элемента с ключом 1:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Doctrine\Common\Collections\ArrayCollection;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']);
$collection->set(1, 'hello');
return new Response(json_encode($collection->toArray()));
}
}
?>
Результат выполнения кода:
["a", "hello", "c", "d", "e"]
Пример
Давайте попробуем заменить значение по ключу, которого нет в коллекции:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Doctrine\Common\Collections\ArrayCollection;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$collection = new ArrayCollection(['a', 'b', 'c', 'd', 'e']);
$collection->set(10, 'user');
return new Response(json_encode($collection->toArray()));
}
}
?>
Результат выполнения кода:
{"0": "a", "1": "b", "2": "c", "3": "d", "4": "e", "10": "user"}
Смотрите также
-
класс
ArrayCollection,
который представляет собой коллекцию элементов -
метод
add,
который добавляет элемент в коллекцию -
метод
get,
который возвращает элемент по ключу -
метод
remove,
который удаляет элемент по ключу