array_column Возвращает массив из значений одного столбца входного массива &reftitle.description; arrayarray_column arrayarray intstringnullcolumn_key intstringnullindex_key&null; Функция array_column возвращает значения из одного столбца массива array, который идентифицируется ключом column_key. Необязательный параметр index_key индексирует значения выходного массива значениями столбца index_key входного массива. &reftitle.parameters; array Многомерный массив или массив объектов, из которого вытягивается столбец значений. При передаче массива объектов функция вытянет из объектов только общедоступные свойства. Для вытягивания защищённых или закрытых свойств потребуется реализовать в классе оба магических метода — __get и __isset. column_key Столбец, значения которого требуется вернуть. В аргументе передают либо целочисленный ключ столбца, значения которого требуется получить, либо название строкового ключа ассоциативного массива или свойства объекта. В параметр передают значение &null;, чтобы вернуть массивы или объекты целиком, что полезно при одновременной передаче аргумента index_key для переиндексации выходного массива. index_key Столбец, значения которого станут ключами или индексами возвращаемого массива. В аргументе передают либо целочисленный ключ столбца, либо название строкового ключа. Значение приводится стандартным для ключей массива способом, а до PHP 8.0.0 также разрешались объекты, которые поддерживают преобразование в строку. &reftitle.returnvalues; Функция возвращает массив значений, которые представляют один столбец из входного массива. &reftitle.changelog; &Version; &Description; 8.0.0 Функция больше не приводит к строке объекты в столбцах, которые обозначили аргументом index_key, а вместо этого выбрасывает ошибку TypeError. &reftitle.examples; Пример получения столбца с именами из набора записей 2135, 'first_name' => 'John', 'last_name' => 'Doe', ], [ 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ], [ 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ], [ '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" 2135, 'first_name' => 'John', 'last_name' => 'Doe', ], [ 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ], [ 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ], [ 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ] ]; $last_names = array_column($records, 'last_name', 'id'); print_r($last_names); ?> ]]> &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" путём определения магических методов <function>__isset</function> и <function>__get</function> 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.