Метод count класса ParameterBag
Метод count класса ParameterBag возвращает целое число - количество элементов, хранящихся в контейнере параметров. Он не принимает параметров и используется для быстрой проверки размера набора данных, например перед перебором или для условной логики.
Синтаксис
public function count(): int
Пример
Давайте создадим объект ParameterBag с несколькими элементами и посчитаем их количество:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ParameterBag;
class ArticleController extends AbstractController
{
public function index(): Response
{
$bag = new ParameterBag(['a', 'b', 'c', 'd', 'e']);
$res = $bag->count();
return new Response($res);
}
}
?>
Результат выполнения кода:
5
Пример
Давайте посчитаем количество элементов в ассоциативном массиве:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ParameterBag;
class ArticleController extends AbstractController
{
public function index(): Response
{
$bag = new ParameterBag([
'name' => 'abcde',
'age' => 25,
'active' => true,
]);
$res = $bag->count();
return new Response($res);
}
}
?>
Результат выполнения кода:
3
Пример
Давайте проверим, что пустой ParameterBag возвращает ноль:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ParameterBag;
class ArticleController extends AbstractController
{
public function index(): Response
{
$bag = new ParameterBag();
$res = $bag->count();
return new Response($res);
}
}
?>
Результат выполнения кода:
0
Пример
Давайте используем count внутри цикла для перебора всех элементов:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ParameterBag;
class ArticleController extends AbstractController
{
public function index(): Response
{
$bag = new ParameterBag(['a', 'b', 'c', 'd', 'e']);
$res = '';
for ($i = 0; $i < $bag->count(); $i++) {
$res .= $bag->all()[$i];
}
return new Response($res);
}
}
?>
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
ParameterBag,
который хранит параметры запроса -
метод
all,
который возвращает все параметры контейнера -
метод
get,
который возвращает параметр по имени -
метод
has,
который проверяет наличие параметра