Создаёт новый список из элементов, выбранных с помощью заданной callback-функции

# Ds\Set::filter

(PECL ds >= 1.0.0)

Ds\Set::filter — Создаёт новый список из элементов, выбранных с помощью заданной callback-функции

### Описание

public function Ds\Set::filter(callable `$callback` = ?): Ds\Set

Создаёт новый набор из элементов, выбранных с помощью заданной callback-функции.

### Список параметров

`callback`

  function callback(mixed `$value`): bool

  Опциональный аргумент типа callable, который возвращает `true`, если значение должно быть включено и `false`, если нет.

  Если callback-функция не задана, то будут включены только элементы, которые приводятся к логическому значению `true` (смотреть приведение к boolean).

### Возвращаемые значения

Новый набор, содержащий значения, для которых функция `callback` вернула `true`, либо все элементы, которые при приведении к логическому типу становятся `true`, если параметр `callback` не задан.

### Примеры

Пример #1 Пример Ds\Set::filter() с использованием callback-функции

    <?php
    $set = new \Ds\Set([1, 2, 3, 4, 5]);

    var_dump($set->filter(function($value) {
        return $value % 2 == 0;
    }));
    ?>

Вывод приведённого примера будет похож на:

    object(Ds\Set)#3 (2) {
      [0]=>
      int(2)
      [1]=>
      int(4)
    }

Пример #2 Пример Ds\Set::filter() без callback-функции

    <?php
    $set = new \Ds\Set([0, 1, 'a', true, false]);

    var_dump($set->filter());
    ?>

Вывод приведённого примера будет похож на:

    object(Ds\Set)#2 (3) {
      [0]=>
      int(1)
      [1]=>
      string(1) "a"
      [2]=>
      bool(true)
    }

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open