---
title: "Совет по Joomla: использование ArrayHelper::getColumn() - WebTolk"
description: "Нередко нам из больших многомерных массивов данных нужно вытащить конкретные данные по ключу. Как нативными средствами Joomla API получить данные с помощью альтернативы для функции array_column() PHP? Описание метода ArrayHelper::getColumn() Joomla API."
url: "https://web-tolk.ru/blog/sovet-po-joomla-ispolzovanie-arrayhelper-getcolumn"
date: "2026-01-23T09:12:47+00:00"
language: "ru-RU"
---

# Совет по Joomla: использование ArrayHelper::getColumn()

 Автор: Сергей Толкачев Создано: 23 января 2026 Обновлено: 23 января 2026 Просмотров: 305

Нередко нам из больших многомерных массивов данных нужно вытащить конкретные данные по ключу. Представим, что наш многомерный массив - это таблица с данными и нам нужна только одна колонка оттуда. Обычно мы берём нативную функцию PHP `array_column()`, но что если у нас в значениях массива могут оказаться объекты (`stdClass`)? Или в массиве может не оказаться нужной колонки?

Здесь нам поможет метод `ArrayHelper::getColumn()`.

Простой пример: хотим избавиться от вложенных циклов. А точнее - просто спрятать их с глаз долой:

```
// в макете материала
    foreach($customFields['lending-sections']->subform_rows as $sections):
        foreach ($sections as $section):
            echo LayoutHelper::render(layoutFile: trim($sections['layout-id']->value), displayData: ['item' => $this->item, 'jcfields' => $customFields], basePath: __DIR__);
        endforeach;
    endforeach;
```

А можно сделать то же самое таким образом:

```
use \Joomla\Utilities\ArrayHelper;

$layout_id_fields = ArrayHelper::getColumn($customFields['lending-sections']->subform_rows, 'layout-id');
$layout_ids = ArrayHelper::getColumn($layout_id_fields, 'value');

foreach($layout_ids as $layout_id) {
   // выводим макет
}
```

Метод **ArrayHelper::getColumn(array $array, $valueCol, $keyCol = null)** из массива массивов или объектов извлекает:

- значения из колонки `$valueCol`
- при желании — переиндексирует результат по `$keyCol`

Метод работает почти как `array_column()` ([документация PHP array_column](https://www.php.net/manual/ru/function.array-column.php)), но:

- умеет работать с объектами
- умеет возвращать целые элементы, если `$valueCol === null`

Учитывая, что Joomla под капотом повсеместно таскает массивы с объектами (выборки из базы и т.д.) - знание такого метода существенно может упростить жизнь и ускорить разработку.

Ну и с его помощью можно пересобрать массив (сменить индексы):

```
// исходный массив
$items = [
    ['id' => 10, 'title' => 'Заголовок 1'],
    ['id' => 20, 'title' => 'Заголовок 2'],
];
```

Применяем метод:

```
$result = ArrayHelper::getColumn($items, 'title', 'id');
```

Смотрим результат:

```
// Это новый массив $result
[
    10 => 'Заголовок 1',
    20 => 'Заголовок 2',
]
```

Метод активно используется в ядре Joomla.

- [Пост в Telegram-канале](https://t.me/webtolkru/876)

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Совет по Joomla: использование ArrayHelper::getColumn()"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/sovet-po-joomla-ispolzovanie-arrayhelper-getcolumn",
            "name": "Совет по Joomla: использование ArrayHelper::getColumn() - WebTolk",
            "description": "Нередко нам из больших многомерных массивов данных нужно вытащить конкретные данные по ключу. Как нативными средствами Joomla API получить данные с помощью альтернативы для функции array_column() PHP? Описание метода ArrayHelper::getColumn() Joomla API.",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "image": "https://web-tolk.ru/images/blog/sovet-po-joomla-ispolzovanie-arrayhelper-getcolumn/header.webp",
            "headline": "Совет по Joomla: использование ArrayHelper::getColumn()",
            "description": "Нередко нам из больших многомерных массивов данных нужно вытащить конкретные данные по ключу. Как нативными средствами Joomla API получить данные с помощью альтернативы для функции array_column() PHP? Описание метода ArrayHelper::getColumn() Joomla API.",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/170",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
