Метод first класса ArrayCollection
Метод first класса ArrayCollection возвращает
первый элемент коллекции. Если коллекция пуста, метод
возвращает false или значение, переданное вторым
параметром. Ключи коллекции при этом не сохраняются.
Синтаксис
public function first(bool|Closure $default = false): mixed
Пример
Давайте создадим коллекцию и получим её первый элемент:
<?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', 'b', 'c', 'd', 'e']);
$res = $collection->first();
return new Response($res);
}
}
?>
Результат выполнения кода:
"a"
Пример
Давайте получим первый элемент коллекции с числовыми значениями:
<?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->first();
return new Response($res);
}
}
?>
Результат выполнения кода:
"1"
Пример
Давайте вызовем метод first на пустой коллекции.
По умолчанию метод вернёт false:
<?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->first();
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
"false"
Пример
Давайте передадим вторым параметром значение по умолчанию, которое вернётся для пустой коллекции:
<?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->first('hello');
return new Response($res);
}
}
?>
Результат выполнения кода:
"hello"
Пример
Давайте передадим вторым параметром замыкание, которое вычислит значение по умолчанию для пустой коллекции:
<?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->first(function () {
return 'abcde';
});
return new Response($res);
}
}
?>
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
ArrayCollection,
который представляет собой коллекцию элементов -
метод
last,
который возвращает последний элемент коллекции -
метод
get,
который возвращает элемент по указанному ключу -
метод
toArray,
который возвращает все элементы коллекции в виде массива