«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как извлечь столбец свойств из массива объектов в PHP?

Как извлечь столбец свойств из массива объектов в PHP?

Опубликовано 6 ноября 2024 г.
Просматривать:944

How to Extract a Column of Properties from an Array of Objects in PHP?

PHP: эффективное извлечение столбца свойств из массива объектов

Многие сценарии программирования включают работу с массивами объектов, где каждый объект может иметь несколько свойств. Иногда возникает необходимость извлечь определенное свойство из каждого объекта для формирования отдельного массива. В PHP достичь этой цели в одной строке, не прибегая к циклам или внешним функциям, может быть непросто.

Один из возможных подходов — использование функции array_walk() вместе с create_function. Однако более простое и элегантное решение доступно в PHP 7.0 и более поздних версиях.

array_column() на помощь

Функция array_column() была представлена ​​в PHP 7.0 и позволяет извлечь определенный столбец данных из массива массивов или массивов объектов. Просто передайте массив объектов в качестве первого параметра и имя нужного свойства в качестве второго параметра:

$idCats = array_column($cats, 'id');

В этом примере переменная $idCats теперь будет содержать массив идентификаторов всех объектов кошек.

Примечание для версий PHP до 7.0

Если вы используете версию PHP ниже 7.0, вы все равно можете использовать функцию array_map():

$idCats = array_map(function($cat) { return $cat->id; }, $cats);

Хотя этот метод немного более подробный, он дает тот же результат.

Используя array_column() или array_map(), вы можете эффективно извлечь столбец свойств из массива объекты в PHP, что позволяет оптимизировать код и повысить производительность.

Заявление о выпуске Эта статья перепечатана по адресу: 1729386019. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3