PHP iterável
Ao longo deste artigo, você aprenderá como os iteráveis do PHP podem ser usados para simplificar seu código e torná-lo mais fácil de ler, e como você pode usá-los para simplificar seu código e torná-lo mais fácil de entender.
Existe um tipo de dados conhecido como iterável em PHP, que é um tipo de dados que pode ser iterado com um loop foreach.
Há uma série de arrays e objetos que podem atravessar a interface Traversable.
O conceito de iteráveis do PHP fornece uma maneira fácil de percorrer coleções de dados, obter algumas informações de cada item e executar operações neles.
PHP Iterável – O que é?
Php Iterables são quaisquer valores que podem ser passados para um loop foreach() e repetidos um após o outro.
Existe um pseudo-tipo para iteráveis introduzido no PHP 7.1, que pode ser usado como um tipo de argumento para funções e como um tipo de retorno para funções .
Usar iteráveis
Uma palavra-chave iterável pode ser usada de várias maneiras diferentes, como usá-la como um tipo de dados para um argumento de função ou como o modo de retorno de uma função.
Os seguintes argumentos podem ser usados com um argumento de função iterável:
Example:
Example:
Criar iterável
Matrizes
Uma matriz é iterável, o que significa que pode ser usada como argumento para uma função que requer um iterável como argumento.
Iteradores
Existem muitos objetos que implementam a interface Iterator que podem ser usados como argumentos para funções que requerem um iterável como argumento.
Os iteradores podem ser usados para percorrer uma lista de itens que contém uma lista de métodos para percorrê-los.
Existe um ponteiro que acompanha um dos elementos da lista.
Deve haver uma chave associada a cada item da lista que possa ser usada para localizar esse item na lista.
Os iteradores devem ter os seguintes métodos para funcionar:
- current() : Retorna o ponteiro para o elemento atual ou, se não houver ponteiro, retorna o elemento atual. Qualquer tipo de dados é permitido
- key() : Esta função retorna a chave associada ao elemento atualmente selecionado na lista. Um número só pode ser um inteiro, um float, um booleano ou uma string.
- next() : Esta é uma função para mover o ponteiro para o próximo item em uma lista de itens
- rewind() : Este método move o ponteiro de volta para o início da lista, para o primeiro elemento
- valid() : Esta função deve retornar false se o ponteiro interno não estiver apontando para nenhum elemento (por exemplo, se essa é a posição em que next() foi chamado no final da lista), caso contrário, deve retornar true.
Implemente a interface Iterator como iterável e use-a para iterar sobre os dados:
Example:
Exemplo de Explicação
No exemplo acima, definimos uma classe chamada Number_Iterator que implementa a interface Iterator. Essa interface requer a implementação de vários métodos, incluindo current(), key(), next(), rewind() e valid().
- O método __construct() da classe Number_Iterator recebe uma matriz de números e inicializa a propriedade $data com seus valores, certificando-se de que as chaves sejam números sequenciais.
- O método current() retorna o elemento atual do iterador, que é simplesmente o valor do índice atual no array $data.
O método key() retorna o índice atual do iterador. - O método next() incrementa o índice atual do iterador.
- O método rewind() redefine o índice atual do iterador para o início.
- O método valid() retorna true se o índice atual for menor que o número total de elementos no array $data.
- Depois de definir a classe Number_Iterator, o código define uma função chamada printIterable().
- Essa função recebe um iterável como argumento e itera sobre ele usando um loop foreach.