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', ), 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» объекта, определив магический метод <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, то вернётся пустой массив.