array_columnВозвращает массив из значений одного столбца входного массива
&reftitle.description;
arrayarray_columnarrayinputmixedcolumn_keymixedindex_keynullarray_column возвращает массив из значений столбца массива
input с ключом column_key.
Опционально можно указать index_key, чтобы
индексировать возвращаемый массив значениями из столбца с ключом
index_key входного массива.
&reftitle.parameters;
input
Многомерный массив или массив объектов, из которого будет производиться выборка
значений. Если задан массив объектов, то можно выбирать любые его публичные
свойства. Для выборки приватных или защищенных свойств, объект должен
реализовывать магические методы __get и __isset.
column_key
Ключ столбца значения которого нужно вернуть. Может содержать как числовой ключ так
и строковой для ассоциативных массивов. А также может принимать значение &null; тогда
возвращаются не значения определенного столбца а весь массив (полезно использовать
вместе с index_key чтобы переиндексировать массив).
index_key
Ключ столбца значения которого будут использоваться в качестве ключей
возвращаемого массива. Может быть как целочисленным ключом так и строковым.
&reftitle.returnvalues;
Возвращает массив из значений одного столбца входного массива (набора записей).
&reftitle.changelog;
&Version;&Description;7.0.0
Добавлена возможность использовать массив объектов в input.
&reftitle.examples;
Получим столбец с именами из набора записей
2135,
'first_name' => 'John',
'last_name' => 'Doe',
),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
),
array(
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
),
array(
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
)
);
$first_names = array_column($records, 'first_name');
print_r($first_names);
?>
]]>
&example.outputs;
John
[1] => Sally
[2] => Jane
[3] => Peter
)
]]>
Получим столбец с фамилиями, а в качестве ключей возвращаемого массива используем значения из столбца "id"
]]>
&example.outputs;
Doe
[3245] => Smith
[5342] => Jones
[5623] => Doe
)
]]>
Получим столбец имен пользователей из публичного свойства "username" объекта
username = $username;
}
}
$users = [
new User('user 1'),
new User('user 2'),
new User('user 3'),
];
print_r(array_column($users, 'username'));
?>
]]>
&example.outputs;
user 1
[1] => user 2
[2] => user 3
)
]]>
Получим столбец имен пользователей из приватного свойства "name" объекта используя магический
метод __get.
name = $name;
}
public function __get($prop)
{
return $this->$prop;
}
public function __isset($prop) : bool
{
return isset($this->$prop);
}
}
$people = [
new Person('Fred'),
new Person('Jane'),
new Person('John'),
];
print_r(array_column($people, 'name'));
?>
]]>
&example.outputs;
Fred
[1] => Jane
[2] => John
)
]]>
Если в объекте не будет метода __isset, то вернется пустой массив.
&reftitle.seealso;
Рекомендации по самостоятельной реализации при использовании версии PHP ниже 5.5