Перейти к содержимому

Разбор функции PHP array_column()

Функция PHP array_column() — удобный инструмент для извлечения значений из массивов и преобразования их в новые массивы. Она часто используется при работе с многомерными массивами и помогает упростить процесс обработки данных. В этой статье мы подробно разберём особенности array_column() и покажем, как применять её в ваших PHP-проектах.

Что такое функция array_column()?

Функция array_column() — это встроенная функция PHP, предназначенная для извлечения значений из массива и возврата их в виде нового массива. Она принимает два обязательных параметра: массив, из которого нужно извлечь значения, и ключ (или столбец), значения которого требуется получить. Функция возвращает новый массив, содержащий только значения из указанного столбца.

Вот основной синтаксис функции array_column():

Синтаксис функции PHP array_column

php
array_column(array, column_key, [index_key]);
  • array: Это массив, из которого вы хотите извлечь значения.
  • column_key: Это ключ (или столбец), значения которого вы хотите извлечь.
  • index_key (необязательный): Это ключ, который вы хотите использовать в качестве индекса (или ключа) возвращаемого массива.

Как использовать функцию array_column()

Использование функции array_column() довольно просто. Всё, что нужно сделать, — это передать массив и ключ, значения которого требуется извлечь. Ниже приведён пример, демонстрирующий использование array_column():

Пример использования функции array_column в PHP

php
<?php

$data = [
    [
        'id' => 1,
        'name' => 'John',
        'age' => 30,
    ],
    [
        'id' => 2,
        'name' => 'Jane',
        'age' => 25,
    ],
    [
        'id' => 3,
        'name' => 'Jim',
        'age' => 35,
    ],
];

$names = array_column($data, 'name');

print_r($names);

?>

Результат выполнения этого кода будет следующим:


console
Array
(
  [0] => John
  [1] => Jane
  [2] => Jim
)

В этом примере функция array_column() извлекла значения из столбца name и вернула их в виде нового массива.

Использование параметра index_key

Параметр index_key позволяет указать ключ, который будет использоваться в качестве индекса возвращаемого массива. Ниже приведён пример, демонстрирующий использование параметра index_key:

Пример функции PHP array_column с дополнительными аргументами

php
<?php

$data = [
    [
        'id' => 1,
        'name' => 'John',
        'age' => 30,
    ],
    [
        'id' => 2,
        'name' => 'Jane',
        'age' => 25,
    ],
    [
        'id' => 3,
        'name' => 'Jim',
        'age' => 35,
    ],
];

$names = array_column($data, 'name', 'id');

print_r($names);

?>

Результат выполнения этого кода будет следующим:


console
Array
(
  [1] => John
  [2] => Jane
  [3] => Jim
)

В этом примере функция array_column() извлекла значения из столбца name и использовала столбец id в качестве индекса возвращаемого массива.

Сценарии использования array_column()

Функцию array_column() можно использовать в различных ситуациях, когда необходимо извлечь значения из массивов и вернуть их в виде нового массива. Вот несколько распространённых сценариев использования:

  • Извлечение значений из многомерных массивов для создания простого списка
  • Создание ассоциативного массива из многомерного массива
  • Преобразование многомерного массива в одномерный для использования в выпадающем списке или другом элементе формы

Заключение

Подводя итог, функция array_column() — это мощный инструмент для извлечения значений из массивов и преобразования их в новые массивы. Независимо от того, работаете ли вы с многомерными массивами или вам просто нужно извлечь определённые значения, array_column() поможет упростить ваш код и получить нужные результаты.

Практика

Какова функция функции array_column() в PHP?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.