Ds\Sequence::filter

(PECL ds >= 1.0.0)

Ds\Sequence::filter Cria uma nova sequência usando um callable para determinar quais valores incluir.

Descrição

abstract public Ds\Sequence::filter(callable $callback = ?): Ds\Sequence

Cria uma nova sequência usando um callable para determinar quais valores incluir.

Parâmetros

callback

callback(mixed $value): bool

callable opcional que retorna true se o valor deve ser incluído, false caso contrário.

Se um callback não for fornecido, apenas valores que são true (veja conversão para booleano) serão incluídos.

Valor Retornado

Uma nova sequência contendo todos os valores para os quais o callback retornou true, ou todos os valores que convertem para true se um callback não foi fornecido.

Exemplos

Example #1 Exemplo de Ds\Sequence::filter() usando uma função callback

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

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

O exemplo acima produzirá algo semelhante a:

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

Example #2 Exemplo de Ds\Sequence::filter() sem uma função callback

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

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

O exemplo acima produzirá algo semelhante a:

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