Функция pluck($arr, $propName)

Описание: Данная функция предназначена для извлечения значения определенного свойства из каждого элемента массива или объекта.

Параметры:

  • $arr (обязательный): Массив или объект, из которого нужно извлечь значения свойства.
  • $propName (обязательный): Имя свойства, значение которого нужно извлечь. Для массивов это может быть строкой-ключом, для объектов — именем свойства.

Возвращаемое значение: Функция возвращает новый массив, содержащий значения свойства $propName для каждого элемента входного массива или объекта. Порядок элементов в новом массиве соответствует порядку элементов во входном массиве.

Пример использования:

$users = [
    ['name' => 'John', 'age' => 25],
    ['name' => 'Alice', 'age' => 30],
    ['name' => 'Bob', 'age' => 35],
];

// Извлечение значения свойства 'name' из каждого элемента массива
$result = pluck($users, 'name');
print_r($result);
/*
Результат:
Array
(
    [0] => John
    [1] => Alice
    [2] => Bob
)
*/

$person = new stdClass();
$person->name = 'Jane';
$person->age = 28;

// Извлечение значения свойства 'age' из объекта
$result = pluck($person, 'age');
print_r($result);
/*
Результат:
Array
(
    [0] => 28
)
*/

Примечания:

  • Если элемент массива не содержит указанное свойство, то для этого элемента будет создано соответствующее значение null.
  • Если передан объект, то должны быть определены публичные свойства или свойства с методами доступа (геттерами) для извлечения значений.
  • Функция pluck() использует внутреннюю функцию array_map(), которая применяет анонимную функцию к каждому элементу массива.
<?php
function pluck($arr, $propName) {
    return array_map(function($item) use ($propName) {
        return is_array($item) ? $item[$propName] : $item->$propName;
    }, $arr);
}

Проверенный хостинг

Beget

Международный хостинг-провайдер, аккредитованный национальный и международный регистратор доменных имён.

Timeweb

Сервис, предоставляющий широкий спектр услуг в области веб-хостинга и виртуальных серверов.

Заказать кастомную разработку

Корпоративные порталы
  • Веб-дизайн
  • Фронт-энд
  • Бэк-энд
  • Контент
  • PM
Мобильные приложения
  • Веб-дизайн
  • Фронт-энд
  • Бэк-энд
  • Контент
  • PM
Разработка ИТ-продукта
  • Веб-дизайн
  • Фронт-энд
  • Бэк-энд
  • Контент
  • PM