Прошу не обращать внимание на 2 новых метода, которые появились в MainController. На информацию из этого видео они никак не влияют. Просто записал видео на первом попавшемся контроллере )

До сих пор мы выводили в качестве ключа передаваемого внутрь шаблона Twig некую переменную. 

Что делать, если внутрь Twig нужно передать не переменную, а массив или объект?

Предположим, что в переменной $tmp внутри массива у нас располагается какой-то PHP массив.

/**
     * @Route("/test-twig", name="testTwig")
     */
    public function testTwig()
    {
        $tmp = [
            'key1' => 'Проба1',
            'key2' => 'Проба2',
        ];
        return $this->render('test/index.html.twig', [
            'tmp' => $tmp
        ]);
    }

Давайте посмотрим, как мы можем вывести, скажем, второй ключ внутри нашего шаблона Twig. 

Если воспользоваться просто конструкцией:

{{tmp}}

Мы получим ошибку, что невозможно отобразить как строку значения массива.

Для того, чтобы отобразить какой-то элемент массива, нужно указать его ключ.

В шаблонизаторе Twig это делается через знак точку.

{{ tmp.key1 }}

Если в контроллере массив не ассоциативный:

$tmp = [
    'Проба1', 'Проба2',
    ];

Индексы в массиве начинаются с нуля и у каждого элемента есть свой индекс.

Индекс нужного элемента можно посмотреть с помощью функции:

dd($tmp)

Для того, чтобы нам вывести "Проба2", в Twig нужно указать индекс 1.

{{ tmp.1 }}

Таким образом мы можем передавать в шаблонизатор Twig массивы и выводить их значения.