PHP array lenght: calculando o tamanho do array [count e sizeof]

Obter o PHP array lenght, em outras palavras, o tamanho do array em PHP, de forma rápida e simples, é uma das maiores dúvidas de quem está começando na programação. Isso porque, em muitos programas, precisamos trabalhar com o tamanho do vetor ou fazer a iteração pelo array usando a estrutura de repetição for.

No entanto, a linguagem PHP fornece duas funções para nos ajudar com esse problema, evitando que seja necessário criar diversas linhas de código para fazer tal contagem. É sobre elas que falaremos neste post, em que você vai conferir:

Fique com a gente e tenha uma boa leitura!

O que são arrays em PHP?

De forma simples, podemos dizer que um array é uma estrutura que tem a função de armazenar vários dados em sequência em uma só variável. No caso da linguagem PHP, essa estrutura pode armazenar diferentes tipos de dados, incluindo outros arrays. Além disso, no PHP, existem três tipos de arrays: 

  • indexados: são arrays com índice numérico;
  • associativos: arrays que relacionam chaves a valores;
  • multidimensionais: arrays que armazenam um ou mais arrays.

O que é o PHP array lenght?

Quando falamos sobre PHP array lenght, estamos nos referindo às formas de calcular o tamanho de um array na linguagem PHP. Basicamente, existem duas maneiras de se fazer isso, sendo por meio das funções embutidas count() e sizeof(), que “caminham” pelo array e retornam a quantidade de elementos nele contido.

Conheça a função PHP count()!

Como o próprio nome indica, essa função tem como propósito contar o número de elementos armazenados em um array.

Sintaxe

Para utilizar essa função, devemos empregar a seguinte sintaxe básica:

count(array, modo)

Parâmetros

Como mostramos acima, a sintaxe da função count() pede que passemos dois valores como parâmetros, sendo eles:

  • array: esse é um parâmetro obrigatório. Nele, indicamos o nome do array o qual desejamos contar a quantidade de elementos;
  • modo: já esse é um parâmetro opcional. Nele, vamos especificar o modo da contagem. Para isso, usamos os seguintes valores:
  • 0: valor padrão. Não conta todos os elementos de arrays multidimensionais;
  • 1: usado para contar o array recursivamente (conta todos os elementos de arrays multidimensionais).

Conheça a função PHP sizeof()!

Assim como a anterior, a função sizeof() é usada para contar o tamanho de um array ou, em outras palavras, o número de elementos nele contido.

Sintaxe

A sintaxe básica dessa função também é bastante simples, veja:

sizeof(array, modo)

Parâmetros

A função sizeof() aceita a passagem de dois parâmetros, que são:

  • array: esse é um parâmetro obrigatório. Nele, indicamos o nome do array o qual desejamos contar a quantidade de elementos;
  • modo: esse parâmetro não é obrigatório, pois a função já tem um valor padrão. Nele, vamos especificar o modo da contagem. Para isso, usamos os seguintes valores:
  • 0: valor padrão. Não conta todos os elementos de arrays multidimensionais;
  • 1: usado para contar o array recursivamente (conta todos os elementos de arrays multidimensionais).

Como criar um array em PHP? Exemplo prático!

Para criar um array em PHP, utilizamos a função array(). No entanto, a sintaxe adotada vai variar de acordo com o tipo de array que precisamos criar. Observe:

Sintaxe para array indexado

array(valor1, valor2, valor3, etc.)

Sintaxe para array associativo

array(chave=>valor, chave=>valor, chave=>valor, etc.)

Sintaxe para array multidimensional

array(

array(valor1, valor2, valor3, etc.),

array(valor1, valor2, valor3, etc.)

)

Agora que já conhecemos a sintaxe básica usada para criar array, vejamos alguns exemplos práticos. Primeiramente, vamos criar um array simples indexado, contendo apenas nomes. Veja:

<?php

$nome = array("Bruno", "Laura", "Roberta", "Matheus", "João", "Sofia");

?>

Continuando a exemplificação, vamos ver o código para criação de um array associativo, no qual cada nome está associado a uma idade. Observe:

<?php

$idade = array(

   "Bruno"=>"35",

   "Laura"=>"20",

   "Roberta"=>"43",

   "Matheus"=>"32",

   "João"=>"50",

   "Sofia"=>"19"

);

?>

Por fim, vejamos um exemplo de código usado para criar um array multidimensional, que conterá outros arrays contendo nome, idade e turma de diversos estudantes. Confira:

<?php

$estudantes = array(

   array("nome" => "Bruno", "idade" => "35", "turma" => "203"),

   array("nome" => "Alex", "idade" => "21", "turma" => "203"),

   array("nome" => "Laura", "idade" => "20", "turma" => "201"),

   array("nome" => "Matheus", "idade" => "32", "turma" => "203"),

   array("nome" => "Emerson", "idade" => "23", "turma" => "200"),

   array("nome" => "Sofia", "idade" => "19", "turma" => "201"),

   array("nome" => "Clara", "idade" => "22", "turma" => "202"),

);

?>

Como usar o PHP array lenght? 6 exemplos na prática!

Colocar em prática é a melhor forma de aprender em programação. Então, mãos à obra!

Exemplo 1

Neste primeiro exemplo, vamos usar o seguinte código:

<?php

$nome = array("Bruno", "Laura", "Roberta", "Matheus", "João", "Sofia");

echo "O array tem um total de " . count($nome) . " elementos. <br /><br />";

for ($k=0; $k <count($nome); $k++){

echo "O elemento armazenado no índice $k é: $nome[$k] <br />";

}

?>

Explicação

Observe que, aqui, não estamos usando a função count() apenas para obter o tamanho do array, mas também, a usamos em um laço for em PHP para fazer a iteração pelo array. Esse é, na verdade, um dos usos mais comuns dessa função.

Dito isso, no código acima, armazenamos diversos nomes em um array, usamos a função count() para determinar a quantidade de elementos armazenados e imprimimos na tela. Em seguida, usamos novamente a função em um laço for para percorrer o array e imprimir os nomes que foram armazenados.

Resultado

Ao executar o código, podemos observar a seguinte saída:

O array tem um total de 6 elementos.

O elemento armazenado no índice 0 é: Bruno

O elemento armazenado no índice 1 é: Laura

O elemento armazenado no índice 2 é: Roberta

O elemento armazenado no índice 3 é: Matheus

O elemento armazenado no índice 4 é: João

O elemento armazenado no índice 5 é: Sofia

Exemplo 2

Veja o código:

<?php

$idade = array(

   "Bruno"=>"35",

   "Laura"=>"20",

   "Roberta"=>"43",

   "Matheus"=>"32",

   "João"=>"50",

   "Sofia"=>"19"

);

echo "Resultado da contagem normal: " . count($idade) ."<br />";

echo "Resultado da contagem recursiva: " . count($idade,1);

?>

Explicação

No código apresentando, simplesmente usamos a função count() para descobrir o tamanho de um array associativo, adotando os dois modos de contagem, ou seja, o padrão e o recursivo.

Resultado

Após a execução do código, temos o seguinte resultado:

Resultado da contagem normal: 6

Resultado da contagem recursiva: 6

Exemplo 3

Confira mais um código:

<?php

$estudantes = array(

   array("nome" => "Bruno", "idade" => "35", "turma" => "203"),

   array("nome" => "Alex", "idade" => "21", "turma" => "203"),

   array("nome" => "Laura", "idade" => "20", "turma" => "201"),

   array("nome" => "Matheus", "idade" => "32", "turma" => "203"),

   array("nome" => "Emerson", "idade" => "23", "turma" => "200"),

   array("nome" => "Sofia", "idade" => "19", "turma" => "201"),

   array("nome" => "Clara", "idade" => "22", "turma" => "202"),

);

echo "Resultado da contagem normal: " . count($estudantes) ."<br />";

echo "Resultado da contagem recursiva: " . count($estudantes,1);

?>

Explicação

Novamente, usamos a função count() para retornar a quantidade de elementos contida no array. Porém, dessa vez, trata-se de array multidimensional, o que vai gerar uma diferença nos resultados da contagem recursiva.

Resultado

A seguir, temos o retorno esperado com a execução do código:

Resultado da contagem normal: 7

Resultado da contagem recursiva: 28

Exemplo 4

Observe esse código:

<?php

$string = "Transformando uma string em array e contando a quantidade de palavras";

$array = explode(" ",$string);

echo "Quantidade de palavras na string = " . sizeof($array);

?>

Explicação

Nesse exemplo, pegamos uma frase qualquer e armazenamos em uma variável string para, em seguida, separar as palavras com a função explode() e armazená-las em um array. Por fim, usamos a função sizeof() para contar quantas palavras a frase tem.

Resultado

Ao rodar o código, a saída que obtemos é:

Quantidade de palavras na string = 11

Exemplo 5

Esse código pode ser bem útil:

<?php

$string = "Transformando uma string em array e contando a quantidade de palavras";

$array = explode(" ",$string);

for ($k=0; $k <sizeof($array); $k++){

echo "O elemento armazenado no índice $k é: $array[$k] <br />";

}

?>

Explicação

Novamente, quebramos uma string para armazená-la em um array. Porém, agora, usamos a função sizeof() em um laço for para percorrer o array e imprimir na tela cada elemento armazenado.

Resultado

Após executar o código, é possível observar o seguinte retorno:

O elemento armazenado no índice 0 é: Transformando

O elemento armazenado no índice 1 é: uma

O elemento armazenado no índice 2 é: string

O elemento armazenado no índice 3 é: em

O elemento armazenado no índice 4 é: array

O elemento armazenado no índice 5 é: e

O elemento armazenado no índice 6 é: contando

O elemento armazenado no índice 7 é: a

O elemento armazenado no índice 8 é: quantidade

O elemento armazenado no índice 9 é: de

O elemento armazenado no índice 10 é: palavras

Exemplo 6

Nosso último exemplo é bem prático. Veja o código:

<?php

$estudantes = array(

   array("nome" => "Bruno", "idade" => "35", "turma" => "203"),

   array("nome" => "Alex", "idade" => "21", "turma" => "203"),

   array("nome" => "Laura", "idade" => "20", "turma" => "201"),

   array("nome" => "Matheus", "idade" => "32", "turma" => "203"),

   array("nome" => "Emerson", "idade" => "23", "turma" => "200"),

   array("nome" => "Sofia", "idade" => "19", "turma" => "201"),

   array("nome" => "Clara", "idade" => "22", "turma" => "202"),

);

echo "Resultado da contagem normal: " . sizeof($estudantes) ."<br />";

echo "Resultado da contagem recursiva: " . sizeof($estudantes,1);

?>

Explicação

Repetimos a contagem feita no exemplo 3 com um array multidimensional. Porém, dessa vez, usamos a função sizeof() para comparar os resultados.

Resultado

Logo abaixo, temos o resultado obtido ao rodar o código acima:

Resultado da contagem normal: 7

Resultado da contagem recursiva: 28

Perceba que, apesar de usarmos a função sizeof(), os resultados são exatamente os mesmos obtidos no exemplo 3. Isso já era esperado, visto que elas têm exatamente a mesma função.

Como foi possível notar, o PHP array lenght, ou tamanho do vetor PHP, é algo fácil de ser obtido por meio das funções count() e sizeof(). Embora count() seja mais utilizada, ambas são bastante intuitivas e fornecem os mesmos resultados, podendo ser aplicadas em laços for ou, simplesmente, para a contagem de elementos armazenados em um array.

E aí, gostou do post? Então, que tal conferir nosso próximo artigo e descobrir tudo o que você precisa saber sobre HTML — uma linguagem muito utilizada em parceria com o PHP!