Skip to content

Latest commit

 

History

History
983 lines (789 loc) · 20.7 KB

Collection.md

File metadata and controls

983 lines (789 loc) · 20.7 KB

Collection

Namespace

use Illuminate Support Collection

__Declaração__

```PHP
//Facade
$collect = Collection::make([1, 2, 3, 4, 5, 6, 7, 8, 10]);

//Helper
$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 10]);

Metodos

all() - retornar todos os itens da coleção

$collect->all();

//Saída
[1,2,3,4,5,6,7,8,10]

collapse() - transforma os itens da coleção em uma único array

$collect = collect([
                    ['fruta'=>'maça', 'tempero'=>'pimenta'], 
                    ['eletronico'=>'computador']
                   ]
                  );
                  
$collect->collapse();
 
//Saída
{"fruta":"maça","tempero":"pimenta","eletronico":"computador"}

contains - verifica se existe o valor dentro de uma coleção se sim retorna true se não retorna false

//Array Simples
$collect = collect(['fruta'=>'maça', 'tempero'=>'pimenta']);
var_dump($collect->contains('maça'));
var_dump($collect->contains('fruta'));

//Saída
bool(true)
bool(false)

///ou 

//Array Bidimensional
$collect = collect([['fruta'=>'maça', 'tempero'=>'pimenta'], ['pagamento'=>'luz']]);
var_dump($collect->contains('pagamento', 'luz'));
var_dump($collect->contains('maça', 'fruta'));

//Saída
bool(true)
bool(false)

diff- retornar um array fazendo a comparação da diferença entre eles, os que forem diferente ele retorna

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$diff = $collect->diff([11,12,13,14,15,16,17,18,19,20]);
var_dump($diff);

//Saída
[1,2,3,4,5,6,7,8,9,10]

///ou 

$collect = collect([1, 2, 3]);
$diff = $collect->diff([1, 2]);
var_dump($diff);

//Saída
{"2":3} // aonde o número 3 é a diferença entres as coleções.

each- executa uma function sobre cada item, ele vai retornar ele mesmo, a função principal é interagir em cada posição e utilizar da melhor maneira fazendo alterações em um lista de informações por exemplo

//Array Simples
$collect = collect([1, 2, 3]);
echo $collect->each(function($i) { return $i; });

//Saida
[1, 2, 3]

///ou

//Array Bidimensioanl
$collect = collect([[1, 2, 3],[4, 5, 6]]);
echo $collect->collapse()->each(function($item) {
    return $item;
});

//Saida
[1, 2, 3, 4, 5, 6]

//Observação eu fiz uma união dos arrays dessa coleção para ficar mais fácil a execução da função em cada item.

fetch - busca pela posição o elemento em um array bidimensional.

$collect = collect([[1, 2, 3, 4, 5, 6],[4,5,6],[0]]);
var_dump($collect->fetch(2));

//Saida
object(Illuminate\Support\Collection)#174 (1) { 
   ["items":protected]=> array(2) { [0]=> int(3) [1]=> int(6) } 
}

///ou 

var_dump($collect->fetch(2)->toArray());

//Saida
array(2) { [0]=> int(3) [1]=> int(6) }

filter - faz um filtro em sua coleção e retorna um outra coleção os dados que passaram pelo filtro

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$result = $collect->filter(function($item){
    return ($item % 2 === 0);
});

//Saida (somente os números pares)
{"1": 2,"3": 4,"5": 6,"7": 8,"9": 10}

forPage - paginação dos resultados

$collect = collect(
            [
                ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
                ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
                ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
                ['id' => 4, 'status' => 1, 'nome' => 'nome 4'],
                ['id' => 5, 'status' => 1, 'nome' => 'nome 5']
            ]
        );
var_dump($collect->forPage(0,3));

//Saida
object(Illuminate\Support\Collection)#174 (1) { 
 ["items":protected]=> array(3) { 
   [0]=> array(3) { ["id"]=> int(3) ["status"]=> int(1) ["nome"]=> string(6) "nome 3" } 
   [1]=> array(3) { ["id"]=> int(4) ["status"]=> int(1) ["nome"]=> string(6) "nome 4" } 
   [2]=> array(3) { ["id"]=> int(5) ["status"]=> int(1) ["nome"]=> string(6) "nome 5" } 
   } 
}

where ou whereLoose - faz um filtro de valor em um par de chaves informadas.

$collect = collect([['fruta'=>'maça'],
                    ['fruta'=>'laranja'],
                    ['fruta'=>'abacate']]);
 $result = $collect->where('fruta','laranja');
 
//Saída
{"1":{"fruta":"laranja"}}

first - pega o primeiro item da coleção ou o primeiro item conforme alguma condição

Primeiro item da lista
$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->first();

//Saida
1

///ou

Primeiro item da lista conforme decisão pela chave.
$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->first(function($key, $value)
{
 return $key > 0;
});

//Saida
2

///ou 

Primeiro item da lista conforme decisão pelo valor.
$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->first(function($key, $value)
{
 return $value > 5;
});

//Saida
6

flatten - pega uma matriz coleção

$collect = collect([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],[12,13],1,50,60,[15,25,26]]);
return $collect->flatten();

//Saida
[1,2,3,4,5,6,7,8,9,10,12,13,1,50,60,15,25,26]

flip- trocar chave por valor e valor por chave de uma coleção

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->all());
var_dump($collect->flip());

//Saida
[1,2,3,4,5,6,7,8,9,10]
{"1":0,"2":1,"3":2,"4":3,"5":4,"6":5,"7":6,"8":7,"9":8,"10":9}

///ou

$collect = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
var_dump($collect->all());
var_dump($collect->flip());

//Saida
{"fruta 1":"maça","fruta 2":"laranja"}
{"maça":"fruta 1","laranja":"fruta 2"}

forget- remove item de uma coleção pela sua chave

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);        
$collect->forget(1);

//Saida (o número dois que pertencia a chave 1 foi removido)
{"0":1,"2":3,"3":4,"4":5,"5":6,"6":7,"7":8,"8":9,"9":10}

///ou

$collect = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
$collect->forget('fruta 1');

//Saida
{"fruta 2":"laranja"}

get- resgatar o valor sendo a busca feita pela chave

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->get(0));

//Saida
1

///ou

$collect = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
var_dump($collect->get('fruta 1'));

//Saida
maça

groupBy- agrupando uma coleção mediante pesquisa feita em uma determinada chave

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->groupBy(function($n){ return $n % 2 === 0;});

//Saida (agrupamento realizado dos valores impares em um coleção e pares em outra)
[[1,3,5,7,9],[2,4,6,8,10]]

///ou

$collect = collect(
    [
        ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
        ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
        ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
        ['id' => 4, 'status' => 1, 'nome' => 'nome 4']
    ]
);
var_dump( $collect->groupBy(function($n){ return $n['status'] === 1; }));

//Saida
{
 "1":[
      {"id":1,"status":1,"nome":"nome 1"},
      {"id":3,"status":1,"nome":"nome 3"},
      {"id":4,"status":1,"nome":"nome 4"}
     ],
 "0":[
      {"id":2,"status":0,"nome":"nome 2"}
     ]
}

_keyBy - _


has - determina se o item existente na coleção por um chave

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->has(9));

//Saida
bool(true)

///ou

$collect = collect(['id' => 1, 'status' => 1, 'nome' => 'nome 1']);
var_dump($collect->has('id'));

//Saida
bool(true)

implode - concatenar valores de uma determinada chave como uma string.

$collect = collect(
            [
                ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
                ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
                ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
                ['id' => 4, 'status' => 1, 'nome' => 'nome 4']
            ]
        );
var_dump($collect->implode('id', '-'));

//Saida
string(7) "1-2-3-4"

intersect - intersecção a coleção com os objetos disponíveis.

isEmpty() - função que verifica se não existe itens na coleção

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->isEmpty());

//Saida
bool(false)

///ou

$collect = collect([]);
var_dump($collect->isEmpty());

//Saida
bool(true)

keys() - retornar todas as chaves de uma coleção

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->keys());

//Saida
array(10) { [0]=> int(0) [1]=> int(1) [2]=> int(2) [3]=> int(3) [4]=> int(4) 
            [5]=> int(5) [6]=> int(6) [7]=> int(7) [8]=> int(8) [9]=> int(9)
         }
         
///ou

$collect = collect(['id' => 1, 'status' => 1, 'nome' => 'nome 1']);
var_dump($collect->keys());

//Saida
array(3) {[0]=> string(2) "id" [1]=> string(6) "status" [2]=> string(4) "nome" }

last() - retornaro último item de um array

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 10]);
var_dump($collect->last());

//Saida
10

lists - obter um coleção com os valores de uma chave

$collect = collect(
            [
                ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
                ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
                ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
                ['id' => 4, 'status' => 1, 'nome' => 'nome 4']
            ]
        );
var_dump($collect->lists('nome', 'id'));

//Saida
array(4) { [1]=> string(6) "nome 1" 
           [2]=> string(6) "nome 2" 
           [3]=> string(6) "nome 3" 
           [4]=> string(6) "nome 4" 
         }

map- executar um mapa sobre cada um dos itens.

$collect = collect(
            [
                ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
                ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
                ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
                ['id' => 4, 'status' => 1, 'nome' => 'nome 4']
            ]
        );
var_dump($collect->map(function($item){
    $item['status'] = ($item['status'] === 1);
    return $item;
})->all());

//Saida
array(4) { 
   [0]=> array(3) { ["id"]=> int(1) ["status"]=> bool(true) ["nome"]=> string(6) "nome 1" } 
   [1]=> array(3) { ["id"]=> int(2) ["status"]=> bool(false) ["nome"]=> string(6) "nome 2" } 
   [2]=> array(3) { ["id"]=> int(3) ["status"]=> bool(true) ["nome"]=> string(6) "nome 3" } 
   [3]=> array(3) { ["id"]=> int(4) ["status"]=> bool(true) ["nome"]=> string(6) "nome 4" } 
}

merge - adicionar na atual coleção valores informados

$collect = collect(
            [
                ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
                ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
                ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
                ['id' => 4, 'status' => 1, 'nome' => 'nome 4']
            ]
        );
var_dump($collect->merge([['id' => 5, 'status' => 1, 'nome' => 'nome 5']])->toArray());

//Saida
array(5) { 
    [0]=> array(3) { ["id"]=> int(1) ["status"]=> int(1) ["nome"]=> string(6) "nome 1" } 
    [1]=> array(3) { ["id"]=> int(2) ["status"]=> int(0) ["nome"]=> string(6) "nome 2" } 
    [2]=> array(3) { ["id"]=> int(3) ["status"]=> int(1) ["nome"]=> string(6) "nome 3" } 
    [3]=> array(3) { ["id"]=> int(4) ["status"]=> int(1) ["nome"]=> string(6) "nome 4" } 
    [4]=> array(3) { ["id"]=> int(5) ["status"]=> int(1) ["nome"]=> string(6) "nome 5" } 
}

pop() - recupera e exclui o último valor da coleção e

$collect = collect(
            [
                ['id' => 1, 'status' => 1, 'nome' => 'nome 1'],
                ['id' => 2, 'status' => 0, 'nome' => 'nome 2'],
                ['id' => 3, 'status' => 1, 'nome' => 'nome 3'],
                ['id' => 4, 'status' => 1, 'nome' => 'nome 4'],
                ['id' => 5, 'status' => 1, 'nome' => 'nome 5']
            ]
        );
var_dump($collect->pop());
var_dump($collect->all());

//Saida
array(3) { ["id"]=> int(5) ["status"]=> int(1) ["nome"]=> string(6) "nome 5" } 
 
array(4) { 
   [0]=> array(3) { ["id"]=> int(1) ["status"]=> int(1) ["nome"]=> string(6) "nome 1" } 
   [1]=> array(3) { ["id"]=> int(2) ["status"]=> int(0) ["nome"]=> string(6) "nome 2" } 
   [2]=> array(3) { ["id"]=> int(3) ["status"]=> int(1) ["nome"]=> string(6) "nome 3" } 
   [3]=> array(3) { ["id"]=> int(4) ["status"]=> int(1) ["nome"]=> string(6) "nome 4" } 
}

prepend - empurre um item para o início da coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collect->prepend(10);
var_dump($collect->all());

//Saida
array(11) { 
   [0]=> int(10) 
   [1]=> int(1) 
   [2]=> int(2) 
   [3]=> int(3) 
   [4]=> int(4) 
   [5]=> int(5) 
   [6]=> int(6) 
   [7]=> int(7) 
   [8]=> int(8) 
   [9]=> int(9) 
   [10]=> int(10) 
}

push- empurre um item para o final da coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collect->push(1);
var_dump($collect->all());

//Saida
array(11) { 
   [0]=> int(1) 
   [1]=> int(2) 
   [2]=> int(3) 
   [3]=> int(4) 
   [4]=> int(5) 
   [5]=> int(6) 
   [6]=> int(7) 
   [7]=> int(8) 
   [8]=> int(9) 
   [9]=> int(10) 
   [10]=> int(1) 
}

pull- remove um item da coleção pela sua chave.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collect->pull(1);
var_dump($collect->all());

//Saida
array(9) { 
   [0]=> int(1) 
   [2]=> int(3) 
   [3]=> int(4) 
   [4]=> int(5) 
   [5]=> int(6) 
   [6]=> int(7) 
   [7]=> int(8) 
   [8]=> int(9) 
   [9]=> int(10) 
}

put - coloque um item na coleção por chave se exister o item é sobreescrito.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$collect->put(0,100);
var_dump($collect->all());
        
//Saida
array(10) { 
   [0]=> int(100) 
   [1]=> int(2) 
   [2]=> int(3) 
   [3]=> int(4) 
   [4]=> int(5) 
   [5]=> int(6) 
   [6]=> int(7) 
   [7]=> int(8) 
   [8]=> int(9) 
   [9]=> int(10) 
}

random - obter um ou mais itens aleatoriamente a partir da coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->random());
var_dump($collect->random());
var_dump($collect->random());

//Saida
int(6) 
int(3) 
int(1)

///ou

$collect = collect(['fruta 1' => 'maça', 'fruta 2' => 'laranja']);
var_dump($collect->random());
var_dump($collect->random());
var_dump($collect->random());

//Saida
string(7) "laranja" 
string(7) "laranja" 
string(5) "maça"

reduce - reduzir a coleção para um único valor.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->reduce(function ($a,$b){
    return $a + $b;
}));

//Saida
int(55)

reject - criar uma coleção de todos os elementos que não passam um determinado teste verdade.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->reject(function ($a){
    return ($a % 2 !== 0);
})->toArray());

//Saida
array(5) { 
   [1]=> int(2) 
   [3]=> int(4) 
   [5]=> int(6) 
   [7]=> int(8) 
   [9]=> int(10) 
}

reverse()- itens da coleção em ordem inversa.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->reverse()->toArray());
 
//Saida
array(10) {
   [0]=> int(10) 
   [1]=> int(9) 
   [2]=> int(8) 
   [3]=> int(7) 
   [4]=> int(6) 
   [5]=> int(5) 
   [6]=> int(4) 
   [7]=> int(3) 
   [8]=> int(2) 
   [9]=> int(1) 
}

search- pesquisar a coleção para um dado valor e retornar a chave correspondente caso seja encontrado.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->search(3));

//Saida
int(2)

shift()- obter e remover o primeiro item da coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->shift());

//Saida
int(1)

shuffle() - embaralhar os itens da coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->shuffle());

//Saida
array(10) { 
   [0]=> int(6) 
   [1]=> int(9) 
   [2]=> int(8) 
   [3]=> int(7) 
   [4]=> int(3) 
   [5]=> int(4) 
   [6]=> int(2) 
   [7]=> int(5) 
   [8]=> int(1) 
   [9]=> int(10) 
}

slice - fatie a matriz coleção subjacente, ou, pega partes informando o inicio e o fim chave.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->slice(3,3, false)->toArray());

//Saida
array(3) { 
 [0]=> int(4) 
 [1]=> int(5) 
 [2]=> int(6) 
}

chunk - divide o array em partes conforme quantidade de itens até o fim da coleção

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
var_dump($collect->chunk(3, false)->toArray());

//Saida
array(4) {
  [0]=> array(3) {[0]=> int(1) [1]=> int(2) [2]=> int(3) }
  [1]=> array(3) {[0]=> int(4) [1]=> int(5) [2]=> int(6) }
  [2]=> array(3) {[0]=> int(7) [1]=> int(8) [2]=> int(9) }
  [3]=> array(1) {[0]=> int(10) }
}

sort - ordenar por cada item conforme a function.

$collect = collect(['d' => 2, 'a' => 1, 'z' => 0]);
return $collect->sort(function($a, $b){
    return $a == $b ? 0: ($a > $b ? 1 : -1);
})->toArray();

//Saida
{ "z": 0, "a": 1, "d": 2}

sortBy - ordenar por cada item conforme a function.

return $collect->sortBy(function($a) {
    return $a;
}, SORT_REGULAR, false)->toArray();

//Saida
{"z":0,"a":1,"d":2}

sortByDesc - apelido do sortBy já ordenando para descendente conforme a function.

return $collect->sortByDesc(function($a) {
    return $a;
}, SORT_REGULAR)->toArray();

//Saida
{"d":2,"a":1,"z":0}

splice - retornar partes da coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->splice(5,1);

//Saida
{6}

sum - retornar a soma dos elementos.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->sum();

//Saida
55

///ou

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->sum(function($a){
    if ($a > 5)
    {
        return $a;
    }
    return 0;
});

//Saida
40

take- quantidade de itens conforme coleção.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->take(5);
return $collect->take(-5);

//Saida
[1,2,3,4,5]
[6,7,8,9,10]

transform - transformar cada item da coleção usando um callback.

$collect = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);       
$collect->transform(function($a)
{
    return [$a + 1];
});

//Saida
[[2],[3],[4],[5],[6],[7],[8],[9],[10],[11]]

unique() - retornar somente os valores únicos em um determinada coleção

$collect = collect(['roma','pera','roma']);
var_dump($collect->unique()->toArray());

//Saida
array(2) { [0]=> string(4) "roma" [1]=> string(4) "pera"}

values() - remove as chaves e retornar somente os valores da coleção

$collect = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);
var_dump($collect->all());
var_dump($collect->values());

//Saida
array(3) { ["fruta1"]=> string(4) "roma" ["fruta2"]=> string(4) "pera" ["fruta3"]=> string(4) "roma"}
array(3) { [0]=> string(4) "roma" [1]=> string(4) "pera" [2]=> string(4) "roma"}

toArray()- saída da coleção no formato array

$collect = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);        
var_dump($collect->toArray());

//Saida
array(3) { ["fruta1"]=> string(4) "roma" ["fruta2"]=> string(4) "pera" ["fruta3"]=> string(4) "roma" }

jsonSerialize()- converte o objeto em JSON serializado

$collect = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);        
var_dump($collect->jsonSerialize());

//Saida
array(3) { ["fruta1"]=> string(4) "roma" ["fruta2"]=> string(4) "pera" ["fruta3"]=> string(4) "roma" }

toJson()- saída da coleção no formato JSON

$collect = collect(['fruta1' => 'roma','fruta2' =>'pera','fruta3'=>'roma']);        
var_dump($collect->toJson());

//Saida
string(49) "{"fruta1":"roma","fruta2":"pera","fruta3":"roma"}"

getIterator()- retornar um ArrayIterator

$collect  = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$iterator = $collect->getIterator();
while ($iterator->valid())
{
    echo $iterator->current() . '<br>';
    $iterator->next();
}

//Saida
1
2
3
4
5
6
7
8
9
10

getCachingIterator- retornar um CachingIterator

$collect  = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
$iterator = $collect->getCachingIterator(\CachingIterator::FULL_CACHE);
while ($iterator->getInnerIterator()->valid())
{
    echo $iterator->current() . '<br>';
    $iterator->next();
}

//Saida
1
2
3
4
5
6
7
8
9
10

count()- conta o número de itens de uma coleção

$collect  = collect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
return $collect->count();

//Saida
10

///ou

$collect = collect([
                ['fruta'=>'maça', 'tempero'=>'pimenta'],
                ['eletronico'=>'computador']
            ]
        );
return $collect->count();

//Saida
2

##Referências: