PHP - Funções de Sequência

Introdução à interface Sequence

Uma Sequência pode descrever o comportamento de valores organizados em uma única dimensão linear. Alguns idiomas podem se referir a isso como uma lista. É semelhante a uma matriz que usa chaves inteiras incrementais, com exceção de algumas características.

  • Os valores sempre podem ser indexados como [0, 1, 2,…, tamanho - 1].
  • Só é permitido acessar valores por índice no intervalo [0, tamanho - 1].

Casos de uso

  • Onde quer que possamos usar um array como uma lista (não preocupado com chaves).
  • Uma alternativa mais eficiente para SplDoublyLinkedList e SplFixedArray.

Sinopse da interface

Ds\Sequence implements Ds\Collection {
   /* Methods */
   abstract public void allocate( int $capacity )
   abstract public void apply( callable $callback )
   abstract public int capacity( void ) 
   abstract public bool contains([ mixed $...values ] )
   abstract public Ds\Sequence filter([ callable $callback ] )
   abstract public mixed find( mixed $value )
   abstract public mixed first( void )
   abstract public mixed get( int $index )
   abstract public void insert( int $index [, mixed $...values ] )
   abstract public string join([ string $glue ] )
   abstract public mixed last( void )
   abstract public Ds\Sequence map( callable $callback )
   abstract public Ds\Sequence merge( mixed $values )
   abstract public mixed pop( void )
   abstract public void push([ mixed $...values ] )
   abstract public mixed reduce( callable $callback [, mixed $initial ] )
   abstract public mixed remove( int $index )
   abstract public void reverse( void )
   abstract public Ds\Sequence reversed( void )
   abstract public void rotate( int $rotations )
   abstract public void set( int $index , mixed $value )
   abstract public mixed shift( void )
   abstract public Ds\Sequence slice( int $index [, int $length ] )
   abstract public void sort([ callable $comparator ] )
   abstract public Ds\Sequence sorted([ callable $comparator ] )
   abstract public number sum( void )
   abstract public void unshift([ mixed $values ] )
}

Constantes Predefinidas

Ds \ Map :: MIN_CAPACITY

Sr. Não Descrição da função
1

Ds \ Sequence :: allocate ()

Esta função pode alocar memória suficiente para uma capacidade necessária.

2

Ds \ Sequence :: apply ()

Esta função pode atualizar todos os valores aplicando uma função de retorno de chamada a cada valor.

3

Ds \ Sequence :: capacity ()

Esta função pode retornar a capacidade atual.

4

Ds \ Sequence :: contains ()

Esta função pode determinar se uma sequência contém valores dados.

5

Ds \ Sequence :: filter ()

crie uma nova sequência usando chamável para determinar quais valores incluir.

6

Ds \ Sequence :: find ()

Esta função pode tentar encontrar o índice do valor.

7

Ds \ Sequence :: first ()

Esta função pode retornar o primeiro valor em uma sequência.

8

Ds \ Sequence :: get ()

Esta função pode retornar o valor em um determinado índice.

9

Ds \ Sequence :: insert ()

Esta função pode inserir valores em um determinado índice.

10

Ds \ Sequence :: join ()

Esta função pode juntar todos os valores como uma string.

11

Ds \ Sequence :: last ()

Esta função pode retornar o último valor.

12

Ds \ Sequence :: map ()

Esta função pode retornar o resultado da aplicação de um retorno de chamada a cada valor.

13

Ds \ Sequence :: merge ()

Esta função pode retornar o resultado da adição de todos os valores fornecidos à sequência.

14

Ds \ Sequence :: pop ()

Esta função pode remover e retornar o último valor.

15

Ds \ Sequence :: push ()

Esta função pode adicionar valores ao final de uma sequência.

16

Ds \ Sequence :: reduzir ()

Esta função pode reduzir a sequência a um único valor usando uma função de retorno de chamada.

17

Ds \ Sequence :: remove ()

Esta função pode remover e retornar um valor por índice.

18

Ds \ Sequence :: reverse ()

Esta função pode reverter uma sequência no local.

19

Ds \ Sequence :: reversed ()

Esta função pode retornar uma cópia revertida.

20

Ds \ Sequence :: rotate ()

Esta função pode girar a sequência por determinado número de rotações.

21

Ds \ Sequence :: set ()

Esta função pode atualizar um valor no índice fornecido.

22

Ds \ Sequence :: shift ()

Esta função pode remover e retornar um primeiro valor.

23

Ds \ Sequence :: slice ()

Esta função pode retornar uma subseqüência do intervalo fornecido.

24

Ds \ Sequence :: sort ()

Esta função pode classificar uma sequência no local.

25

Ds \ Sequence :: classificado ()

Esta função pode retornar uma cópia classificada.

26

Ds \ Sequence :: sum ()

Esta função pode retornar a soma de todos os valores em uma sequência.

27

Ds \ Sequence :: unshift ()

Esta função adiciona valores à frente de uma sequência.