Часто бывает нужно извлечь одну колонку с многомерного массива — например, с результата запроса к Базе Данных. Сделать это не сложно — пробежать по массиву циклом и выделить нужные колонки. Но можно извлечь колонку с помощью ArrayHelper, что существенно облегчит код и Вашу задачу в целом.
$data = [
['id' => '1', 'name' => 'Valery'],
['id' => '2', 'name' => 'Victoria'],
];
$ids = ArrayHelper::getColumn($array, 'id');
$names = ArrayHelper::getColumn($array, 'name');
В результате в массиве $ids будет массив [1, 2], а в массиве $names — [‘Valery’, ‘Victoria’].
В качестве второго параметра можно указать также callback-функцию, которая будет выполнять какие-то действия с данными перед тем, как они попадут в исходящий массив. Тогда вызов может иметь примерно такой вид:
$data = ArrayHelper::getColumn($array, function ($element) {
return 'ID of element: '.$element['id'];
});